Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 157676 - Update should support permanent persistence of trust
Summary: Update should support permanent persistence of trust
Status: RESOLVED WONTFIX
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Update (deprecated - use Eclipse>Equinox>p2) (show other bugs)
Version: 3.2   Edit
Hardware: All All
: P3 normal with 3 votes (vote)
Target Milestone: ---   Edit
Assignee: Platform-Update-Inbox CLA
QA Contact:
URL:
Whiteboard: obsolete
Keywords:
Depends on:
Blocks: 197779
  Show dependency tree
 
Reported: 2006-09-18 14:44 EDT by Matt Flaherty CLA
Modified: 2012-07-24 10:15 EDT (History)
8 users (show)

See Also:


Attachments
patch for the update core plug-in (14.31 KB, patch)
2006-10-17 17:05 EDT, Eric W Li CLA
no flags Details | Diff
update the patch w/ renamed CertificateTrustAuthority (14.33 KB, patch)
2007-02-07 10:53 EST, Eric W Li CLA
no flags Details | Diff
api for persist the trust certs and expired jars (13.71 KB, patch)
2007-04-18 10:22 EDT, Eric W Li CLA
no flags Details | Diff
make the class 'jar expired' sensitive (2.14 KB, patch)
2007-04-18 10:27 EDT, Eric W Li CLA
no flags Details | Diff
org.eclipse.update.core patch (14.76 KB, application/octet-stream)
2007-04-27 12:28 EDT, Thomas Watson CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Flaherty CLA 2006-09-18 14:44:52 EDT
Currently the IVerificationListener interface supports returning CHOICE_INSTALL_TRUST_ALWAYS, which would seem to imply that the update manager should not prompt the user *ever* again for this signer. This would require that the update manager place the representation of trust into someplace where the Jar verification subsystem (ie: OSGi JarVerifier) could reference it. This does not currently seem to be the case.

If CHOICE_INSTALL_TRUST_ALWAYS is not appropriate because it implies trust across a feature or an update session, then we should add a CHOICE_INSTALL_TRUST_PERSIST to represent the permanent trust.
Comment 1 Eric W Li CLA 2006-10-17 17:05:37 EDT
Created attachment 52166 [details]
patch for the update core plug-in

Support certs persistence, if the IVerificationListener returns CHOICE_INSTALL_TRUST_PERSIST, the persistence of cerst will be delegated to a CertificatesTrustService OSGI service.  This also requires the patch from the OSGI JarVerifier https://bugs.eclipse.org/bugs/show_bug.cgi?id=157669 .
Comment 2 DJ Houghton CLA 2007-01-03 16:07:28 EST
Please update the patch based on the new class/method names for the changes that were released to the OSGi bundle in bug 157669.

Thanks.
Comment 3 Eric W Li CLA 2007-02-05 16:22:23 EST
I think there is a lot of changes in the new update.core plug-in, do you need me to produce against the old or new update.core plug-in?
Comment 4 Eric W Li CLA 2007-02-07 10:53:16 EST
Created attachment 58449 [details]
update the patch w/ renamed CertificateTrustAuthority

DJ,

The class name change was trivial in the OSGI bundle and it changed from CertificatesTrustService to CertificateTrustAuthority.  I just updated the previous patch w/ the new class name.  Please let me know if you have any more questions.  Thanks.

-eric
Comment 5 Philipe Mulet CLA 2007-03-26 05:15:48 EDT
Pls also assess how risky it would be to backport the 3.3 patch in 3.2 maintenance branch.
Comment 6 Philipe Mulet CLA 2007-03-26 05:16:25 EDT
Also, is this committed for 3.3M7?
Comment 7 Dejan Glozic CLA 2007-04-13 17:15:06 EDT
This looks very scary. I have no experience in this area and cannot release it unless somebody from the Equinox team approves it.
Comment 8 Eric W Li CLA 2007-04-18 10:22:26 EDT
Created attachment 64193 [details]
api for persist the trust certs and expired jars
Comment 9 Eric W Li CLA 2007-04-18 10:27:36 EDT
Created attachment 64194 [details]
make the class 'jar expired' sensitive
Comment 10 Eric W Li CLA 2007-04-18 10:29:42 EDT
Philippe, the patch can't be applied into 3.2.2 since it requires the changes of OSGI plug-in in M4.  

The new patch that I just uploaded works w/ the latest code 3.3M6 update code.  I have tested it out. Can anybody on the Equinox Team approve it?
Comment 11 Jeff McAffer CLA 2007-04-27 09:52:58 EDT
Tom will take a look.  We had no prior knowledge of this issue/patch and given the  late date, it seems unlikely that we'll get something for M7.
Comment 12 Thomas Watson CLA 2007-04-27 12:28:39 EDT
Created attachment 65227 [details]
org.eclipse.update.core patch

I am not comfortable with this patch.

It adds new API which will need PMC approval at this point in the release.  Asside from that the changes to IVerificationResult adds a new method getCertificates().  The javadoc says "Clients may implement this interface." So any clients will no longer work.  I'm not sure if update really supports just anyone implementing this interface but I'm not familiar enough with the code to make that determination, I only have the javadoc to go by.  According to the javadoc this would be a binary incompatible change.  A new interface would need to be defined which extends IVerificationResults that adds the new method.  This patch does *not* address these issues.

I also found a problem in how UpdateCore finds the CertificateTrustAuthority service.  This algorithm must be identical to how the framework finds the trust authority.  I've updated the patch to make this identical to the framework.
Comment 13 Steve Francisco CLA 2007-05-10 16:28:08 EDT
For people having problems with this issue, is there a recommended workaround or suggestion for avoiding multiple prompts?
Comment 14 Dejan Glozic CLA 2007-05-10 17:39:03 EDT
I admit I scanned the bug very quickly, but there is a button to accept signatures (or lack thereof) for all subsequent features after the one that opened the dialog. So yes, I definitely claim that we probably can avoid them :-).
Comment 15 Raji Akella CLA 2008-01-14 14:03:35 EST
Any updates on this bug?
Comment 16 John Arthorne CLA 2012-07-24 10:15:49 EDT
The Eclipse Update component is no longer under development, and no longer exists in the Eclipse Platform 4.x stream. If this problem still occurs in Eclipse Platform 4.2 or later, please enter a new bug report against Equinox p2.