sun.security.provider |
|
Java Source File Name | Type | Comment |
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). |
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 | |
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. |
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. |
MD5.java | Class | The MD5 class is used to compute an MD5 message digest over a given
buffer of bytes. |
NativeSeedGenerator.java | Class | Seed generator for Windows making use of MS CryptoAPI using native code. |
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. |
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. |
SHA3.java | Class | This class implements the Secure Hash Algorithm SHA-384 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-512 developed by
the National Institute of Standards and Technology along with the
National Security Agency. |
Sun.java | Class | Defines 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. |
X509Factory.java | Class | This class defines a certificate factory for X.509 v3 certificates &
certification paths, and X.509 v2 certificate revocation lists (CRLs). |