sun.security.provider |
|
Java Source File Name | Type | Comment |
ByteArrayAccess.java | Class | Optimized methods for converting between byte[] and int[]/long[], both for
big endian and little endian byte orders.
Currently, it includes a default code path plus two optimized code paths.
One is for little endian architectures that support full speed int/long
access at unaligned addresses (i.e. |
ConfigSpiFile.java | Class | This class wraps the ConfigFile subclass implementation of Configuration
inside a ConfigurationSpi implementation that is available from the
SUN provider via the Configuration.getInstance calls. |
DigestBase.java | Class | Common base message digest implementation for the Sun provider.
It implements all the JCA methods as suitable for a Java message digest
implementation of an algorithm based on a compression function (as all
commonly used algorithms are). |
DSA.java | Class | The Digital Signature Standard (using the Digital Signature
Algorithm), as described in fips186 of the National Instute of
Standards and Technology (NIST), using fips180-1 (SHA-1).
This file contains both the signature implementation for the
commonly used SHA1withDSA (DSS) as well as RawDSA, used by TLS
among others. |
DSAKeyFactory.java | Class | This class implements the DSA key factory of the Sun provider. |
DSAKeyPairGenerator.java | Class | This class generates DSA key parameters and public/private key
pairs according to the DSS standard NIST FIPS 186. |
DSAParameterGenerator.java | Class | This class generates parameters for the DSA algorithm. |
DSAParameters.java | Class | This class implements the parameter set used by the
Digital Signature Algorithm as specified in the FIPS 186
standard. |
DSAPrivateKey.java | Class | A PKCS#8 private key for the Digital Signature Algorithm. |
DSAPublicKey.java | Class | An X.509 public key for the Digital Signature Algorithm. |
DSAPublicKeyImpl.java | Class | An X.509 public key for the Digital Signature Algorithm. |
IdentityDatabase.java | Class | An implementation of IdentityScope as a persistent identity
database. |
JavaKeyStore.java | Class | This class provides the keystore implementation referred to as "JKS". |
KeyProtector.java | Class | This is an implementation of a Sun proprietary, exportable algorithm
intended for use when protecting (or recovering the cleartext version of)
sensitive keys.
This algorithm is not intended as a general purpose cipher.
This is how the algorithm works for key protection:
p - user password
s - random salt
X - xor key
P - to-be-protected key
Y - protected key
R - what gets stored in the keystore
Step 1:
Take the user's password, append a random salt (of fixed size) to it,
and hash it: d1 = digest(p, s)
Store d1 in X.
Step 2:
Take the user's password, append the digest result from the previous step,
and hash it: dn = digest(p, dn-1).
Store dn in X (append it to the previously stored digests).
Repeat this step until the length of X matches the length of the private key
P.
Step 3:
XOR X and P, and store the result in Y: Y = X XOR P.
Step 4:
Store s, Y, and digest(p, P) in the result buffer R:
R = s + Y + digest(p, P), where "+" denotes concatenation.
(NOTE: digest(p, P) is stored in the result buffer, so that when the key is
recovered, we can check if the recovered key indeed matches the original
key.) R is stored in the keystore.
The protected key is recovered as follows:
Step1 and Step2 are the same as above, except that the salt is not randomly
generated, but taken from the result R of step 4 (the first length(s)
bytes).
Step 3 (XOR operation) yields the plaintext key.
Then concatenate the password with the recovered key, and compare with the
last length(digest(p, P)) bytes of R. |
MD2.java | Class | Implementation for the MD2 algorithm, see RFC1319. |
MD4.java | Class | The MD4 class is used to compute an MD4 message digest over a given
buffer of bytes. |
MD5.java | Class | The MD5 class is used to compute an MD5 message digest over a given
buffer of bytes. |
ParameterCache.java | Class | Cache for DSA and DH parameter specs. |
PolicyFile.java | Class | This class represents a default implementation for
java.security.Policy .
Note:
For backward compatibility with JAAS 1.0 it loads
both java.auth.policy and java.policy. |
PolicyParser.java | Class | The policy for a Java runtime (specifying
which permissions are available for code from various principals)
is represented as a separate
persistent configuration. |
PolicySpiFile.java | Class | This class wraps the PolicyFile subclass implementation of Policy
inside a PolicySpi implementation that is available from the SUN provider
via the Policy.getInstance calls. |
SecureRandom.java | Class | This class provides a crytpographically strong pseudo-random number
generator based on the SHA-1 hash algorithm.
Note that if a seed is not provided, we attempt to provide sufficient
seed bytes to completely randomize the internal state of the generator
(20 bytes). |
SeedGenerator.java | Class | |
SHA.java | Class | This class implements the Secure Hash Algorithm (SHA) developed by
the National Institute of Standards and Technology along with the
National Security Agency. |
SHA2.java | Class | This class implements the Secure Hash Algorithm SHA-256 developed by
the National Institute of Standards and Technology along with the
National Security Agency. |
SHA5.java | Class | This class implements the Secure Hash Algorithm SHA-384 and SHA-512
developed by the National Institute of Standards and Technology along
with the National Security Agency.
The two algorithms are almost identical. |
Sun.java | Class | The SUN Security Provider. |
SunEntries.java | Class | Defines the entries of the SUN provider.
Algorithms supported, and their names:
- SHA is the message digest scheme described in FIPS 180-1. |
SystemIdentity.java | Class | An identity with a very simple trust mechanism. |
SystemSigner.java | Class | SunSecurity signer. |
VerificationProvider.java | Class | Provider used for verification of signed JAR files *if* the Sun and
SunRsaSign main classes have been removed. |
X509Factory.java | Class | This class defines a certificate factory for X.509 v3 certificates &
certification paths, and X.509 v2 certificate revocation lists (CRLs). |