java.lang.Object | ||
↳ | java.security.KeyStoreSpi | |
↳ | sun.security.pkcs12.PKCS12KeyStore |
This class provides the keystore implementation referred to as "PKCS12". Implements the PKCS#12 PFX protected using the Password privacy mode. The contents are protected using Password integrity mode. Currently we support following PBE algorithms: - pbeWithSHAAnd3KeyTripleDESCBC to encrypt private keys - pbeWithSHAAnd40BitRC2CBC to encrypt certificates Supported encryption of various implementations : Software and mode. Certificate encryption Private key encryption --------------------------------------------------------------------- MSIE4 (domestic 40 bit RC2. 40 bit RC2 and xport versions) PKCS#12 export. MSIE4, 5 (domestic 40 bit RC2, 40 bit RC2, and export versions) 3 key triple DES 3 key triple DES PKCS#12 import. MSIE5 40 bit RC2 3 key triple DES, PKCS#12 export. with SHA1 (168 bits) Netscape Communicator 40 bit RC2 3 key triple DES, (domestic and export with SHA1 (168 bits) versions) PKCS#12 export Netscape Communicator 40 bit ciphers only All. (export version) PKCS#12 import. Netscape Communicator All. All. (domestic or fortified version) PKCS#12 import. OpenSSL PKCS#12 code. All. All. --------------------------------------------------------------------- NOTE: Currently PKCS12 KeyStore does not support TrustedCertEntries. PKCS#12 is mainly used to deliver private keys with their associated certificate chain and aliases. In a PKCS12 keystore, entries are identified by the alias, and a localKeyId is required to match the private key with the certificate.
KeyStoreSpi
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
int | VERSION_3 |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Lists all the alias names of this keystore.
| |||||||||||
Checks if the given alias exists in this keystore.
| |||||||||||
Deletes the entry identified by the given alias from this keystore.
| |||||||||||
Returns the certificate associated with the given alias.
| |||||||||||
Returns the (alias) name of the first keystore entry whose certificate
matches the given certificate.
| |||||||||||
Returns the certificate chain associated with the given alias.
| |||||||||||
Returns the creation date of the entry identified by the given alias.
| |||||||||||
Returns the key associated with the given alias, using the given
password to recover it.
| |||||||||||
Returns true if the entry identified by the given alias is a
trusted certificate entry, and false otherwise.
| |||||||||||
Returns true if the entry identified by the given alias is a
key entry, and false otherwise.
| |||||||||||
Loads the keystore from the given input stream.
| |||||||||||
Assigns the given certificate to the given alias.
| |||||||||||
Assigns the given key to the given alias, protecting it with the given
password.
| |||||||||||
Assigns the given key (that has already been protected) to the given
alias.
| |||||||||||
Retrieves the number of entries in this keystore.
| |||||||||||
Stores this keystore to the given output stream, and protects its
integrity with the given password.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() |
Lists all the alias names of this keystore.
Checks if the given alias exists in this keystore.
alias | the alias name |
---|
Deletes the entry identified by the given alias from this keystore.
alias | the alias name |
---|
KeyStoreException | if the entry cannot be removed. |
---|
Returns the certificate associated with the given alias.
If the given alias name identifies a trusted certificate entry, the certificate associated with that entry is returned. If the given alias name identifies a key entry, the first element of the certificate chain of that entry is returned, or null if that entry does not have a certificate chain.
alias | the alias name |
---|
Returns the (alias) name of the first keystore entry whose certificate matches the given certificate.
This method attempts to match the given certificate with each keystore entry. If the entry being considered is a trusted certificate entry, the given certificate is compared to that entry's certificate. If the entry being considered is a key entry, the given certificate is compared to the first element of that entry's certificate chain (if a chain exists).
cert | the certificate to match with. |
---|
Returns the certificate chain associated with the given alias.
alias | the alias name |
---|
Returns the creation date of the entry identified by the given alias.
alias | the alias name |
---|
Returns the key associated with the given alias, using the given password to recover it.
alias | the alias name |
---|---|
password | the password for recovering the key |
NoSuchAlgorithmException | if the algorithm for recovering the key cannot be found |
---|---|
UnrecoverableKeyException | if the key cannot be recovered (e.g., the given password is wrong). |
Returns true if the entry identified by the given alias is a trusted certificate entry, and false otherwise.
alias | the alias for the keystore entry to be checked |
---|
Returns true if the entry identified by the given alias is a key entry, and false otherwise.
alias | the alias for the keystore entry to be checked |
---|
Loads the keystore from the given input stream.
If a password is given, it is used to check the integrity of the keystore data. Otherwise, the integrity of the keystore is not checked.
stream | the input stream from which the keystore is loaded |
---|---|
password | the (optional) password used to check the integrity of the keystore. |
IOException | if there is an I/O or format problem with the keystore data |
---|---|
NoSuchAlgorithmException | if the algorithm used to check the integrity of the keystore cannot be found |
CertificateException | if any of the certificates in the keystore could not be loaded |
Assigns the given certificate to the given alias.
If the given alias already exists in this keystore and identifies a trusted certificate entry, the certificate associated with it is overridden by the given certificate.
alias | the alias name |
---|---|
cert | the certificate |
KeyStoreException | if the given alias already exists and does identify a key entry, or on an attempt to create a trusted cert entry which is currently not supported. |
---|
Assigns the given key to the given alias, protecting it with the given password.
If the given key is of type java.security.PrivateKey
,
it must be accompanied by a certificate chain certifying the
corresponding public key.
If the given alias already exists, the keystore information associated with it is overridden by the given key (and possibly certificate chain).
alias | the alias name |
---|---|
key | the key to be associated with the alias |
password | the password to protect the key |
chain | the certificate chain for the corresponding public
key (only required if the given key is of type
java.security.PrivateKey ). |
KeyStoreException | if the given key cannot be protected, or this operation fails for some other reason |
---|
Assigns the given key (that has already been protected) to the given alias.
If the protected key is of type
java.security.PrivateKey
, it must be accompanied by a
certificate chain certifying the corresponding public key. If the
underlying keystore implementation is of type jks
,
key
must be encoded as an
EncryptedPrivateKeyInfo
as defined in the PKCS #8 standard.
If the given alias already exists, the keystore information associated with it is overridden by the given key (and possibly certificate chain).
alias | the alias name |
---|---|
key | the key (in protected format) to be associated with the alias |
chain | the certificate chain for the corresponding public
key (only useful if the protected key is of type
java.security.PrivateKey ). |
KeyStoreException | if this operation fails. |
---|
Retrieves the number of entries in this keystore.
Stores this keystore to the given output stream, and protects its integrity with the given password.
stream | the output stream to which this keystore is written. |
---|---|
password | the password to generate the keystore integrity check |
IOException | if there was an I/O problem with data |
---|---|
NoSuchAlgorithmException | if the appropriate data integrity algorithm could not be found |
CertificateException | if any of the certificates included in the keystore data could not be stored |