public abstract class

SunJSSE

extends Provider
java.lang.Object
   ↳ java.util.Dictionary<K, V>
     ↳ java.util.Hashtable<K, V>
       ↳ java.util.Properties
         ↳ java.security.Provider
           ↳ sun.security.ssl.SunJSSE

Class Overview

The JSSE provider. The RSA implementation has been removed from JSSE, but we still need to register the same algorithms for compatibility. We just point to the RSA implementation in the SunRsaSign provider. This works because all classes are in the bootclasspath and therefore loaded by the same classloader. SunJSSE now supports an experimental FIPS compliant mode when used with an appropriate FIPS certified crypto provider. In FIPS mode, we: . allow only TLS 1.0 . allow only FIPS approved ciphersuites . perform all crypto in the FIPS crypto provider It is currently not possible to use both FIPS compliant SunJSSE and standard JSSE at the same time because of the various static data structures we use. However, we do want to allow FIPS mode to be enabled at runtime and without editing the java.security file. That means we need to allow Security.removeProvider("SunJSSE") to work, which creates an instance of this class in non-FIPS mode. That is why we delay the selection of the mode as long as possible. This is until we open an SSL/TLS connection and the data structures need to be initialized or until SunJSSE is initialized in FIPS mode.

Summary

[Expand]
Inherited Fields
From class java.util.Properties
Protected Constructors
SunJSSE()
SunJSSE(Provider cryptoProvider)
SunJSSE(String cryptoProvider)
Protected Methods
final void finalize()
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
synchronized static boolean isFIPS()
[Expand]
Inherited Methods
From class java.security.Provider
From class java.util.Properties
From class java.util.Hashtable
From class java.util.Dictionary
From class java.lang.Object
From interface java.util.Map

Protected Constructors

protected SunJSSE ()

protected SunJSSE (Provider cryptoProvider)

protected SunJSSE (String cryptoProvider)

Protected Methods

protected final void finalize ()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the finalize method to dispose of system resources or to perform other cleanup.

The general contract of finalize is that it is invoked if and when the JavaTM virtual machine has determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, except as a result of an action taken by the finalization of some other object or class which is ready to be finalized. The finalize method may take any action, including making this object available again to other threads; the usual purpose of finalize, however, is to perform cleanup actions before the object is irrevocably discarded. For example, the finalize method for an object that represents an input/output connection might perform explicit I/O transactions to break the connection before the object is permanently discarded.

The finalize method of class Object performs no special action; it simply returns normally. Subclasses of Object may override this definition.

The Java programming language does not guarantee which thread will invoke the finalize method for any given object. It is guaranteed, however, that the thread that invokes finalize will not be holding any user-visible synchronization locks when finalize is invoked. If an uncaught exception is thrown by the finalize method, the exception is ignored and finalization of that object terminates.

After the finalize method has been invoked for an object, no further action is taken until the Java virtual machine has again determined that there is no longer any means by which this object can be accessed by any thread that has not yet died, including possible actions by other objects or classes which are ready to be finalized, at which point the object may be discarded.

The finalize method is never invoked more than once by a Java virtual machine for any given object.

Any exception thrown by the finalize method causes the finalization of this object to be halted, but is otherwise ignored.

Throws
Throwable

protected static synchronized boolean isFIPS ()