Bug 527966

Summary: Eclipse startup error dialog if user installs Bouncy Castle into their JDK installation.
Product: [Eclipse Project] JDT Reporter: Ken Taylor <archon358>
Component: UIAssignee: JDT-UI-Inbox <jdt-ui-inbox>
Status: RESOLVED NOT_ECLIPSE QA Contact:
Severity: minor    
Priority: P3 CC: daniel_megert
Version: 4.7.1Keywords: security
Target Milestone: ---   
Hardware: PC   
OS: Windows 8   
Whiteboard:

Description Ken Taylor CLA 2017-11-30 12:04:19 EST
Eclipse startup pops up an error dialog if user installs Bouncy Castle into their JDK installation. 
This is most likely because the user installed the BC TLS jar which provides a JSSE implementation of SSLContext.

Error Message:
An internal error occurred during: "Fetch all notifications".
unable to create TlsCrypto: DEFAULT SecureRandom not available

The most likely cause of this is that Eclipse is trying to create an SSLContext and initializing it in a manner not compatible with Bouncy Castle.

Search for SSLContext.init( null, null, null );
"SSLContext" will likely be a variable name.

If you find this code, the 3rd parameter needs to be something like "new SecureRandom()" as BC does not have a default RNG implementation and does not know how to look up the default one provided by the JCE.


-- Configuration Details --
Product: Eclipse 4.7.1.20170914-1200 (org.eclipse.epp.package.jee.product)Installed Features:
 org.eclipse.jdt 3.13.1.v20170906-1700
Versioning Plugin:
 org.eclipse.platform 4.7.1.v20170906-1700
Comment 1 Dani Megert CLA 2017-11-30 12:30:16 EST
(In reply to Ken Taylor from comment #0)
> Eclipse startup pops up an error dialog if user installs Bouncy Castle into
> their JDK installation. 
> This is most likely because the user installed the BC TLS jar which provides
> a JSSE implementation of SSLContext.

Sorry, I don't know what this is, but it's not coming from "us".
Comment 2 Ken Taylor CLA 2017-11-30 14:21:37 EST
My apology. This is coming from the Vaadin Eclipse plugin which is using Apache HTTP client, and that is producing the error.