public final class PK11Store extends java.lang.Object implements CryptoStore
| Modifier and Type | Field and Description |
|---|---|
static org.slf4j.Logger |
logger |
protected TokenProxy |
storeProxy |
protected boolean |
updated |
| Modifier | Constructor and Description |
|---|---|
protected |
PK11Store() |
|
PK11Store(TokenProxy proxy) |
| Modifier and Type | Method and Description |
|---|---|
void |
deleteCert(X509Certificate cert)
Deletes the specified certificate and its associated private
key from the store.
|
void |
deleteCertOnly(X509Certificate cert)
Deletes the specified certificate from the store.
|
void |
deletePrivateKey(PrivateKey privateKey)
Permanently deletes a private key from the token.
|
void |
deletePublicKey(java.security.PublicKey publicKey)
Permanently deletes a public key from the token.
|
java.security.PublicKey |
findPublicKey(PrivateKey privateKey)
Returns the public key corresponding to the private key.
|
X509Certificate[] |
getCertificates()
Returns all user certificates stored on this token.
|
byte[] |
getEncryptedPrivateKeyInfo(KeyGenerator.CharToByteConverter conv,
Password pw,
Algorithm alg,
int n,
PrivateKey k)
Get an encrypted private key, with optional password
conversion.
|
byte[] |
getEncryptedPrivateKeyInfo(X509Certificate cert,
PBEAlgorithm pbeAlg,
Password pw,
int iteration)
Get an encrypted private key for the given cert.
|
PrivateKey[] |
getPrivateKeys()
Returns all private keys stored on this token.
|
java.security.PublicKey[] |
getPublicKeys()
Returns all public keys stored on this token.
|
SymmetricKey[] |
getSymmetricKeys()
Returns all symmetric keys stored on this token.
|
void |
importEncryptedPrivateKeyInfo(KeyGenerator.CharToByteConverter conv,
Password pw,
java.lang.String nickname,
java.security.PublicKey pubKey,
byte[] epkiBytes) |
PrivateKey |
importPrivateKey(byte[] key,
PrivateKey.Type type)
Imports a raw private key into this token.
|
PrivateKey |
importPrivateKey(byte[] key,
PrivateKey.Type type,
boolean temporary)
Imports a raw private key into this token.
|
protected void |
loadPrivateKeys(java.util.Collection<PrivateKey> privateKeys) |
protected void |
loadPublicKeys(java.util.Collection<java.security.PublicKey> privateKeys) |
protected void |
putCertsInVector(java.util.Vector<X509Certificate> certs) |
protected void |
putSymKeysInVector(java.util.Vector<SymmetricKey> symKeys) |
public static org.slf4j.Logger logger
protected boolean updated
protected TokenProxy storeProxy
public PK11Store(TokenProxy proxy)
protected PK11Store()
public PrivateKey importPrivateKey(byte[] key, PrivateKey.Type type) throws TokenException, KeyAlreadyImportedException
importPrivateKey in interface CryptoStorekey - The private key.TokenException - If the key cannot be imported to this token.KeyAlreadyImportedException - If the key already on this token.public PrivateKey importPrivateKey(byte[] key, PrivateKey.Type type, boolean temporary) throws TokenException, KeyAlreadyImportedException
CryptoStoreimportPrivateKey in interface CryptoStorekey - The private key.temporary - Whether the key should be temporary.TokenException - If the key cannot be imported to this token.KeyAlreadyImportedException - If the key already exists on this token.public PrivateKey[] getPrivateKeys() throws TokenException
CryptoStoregetPrivateKeys in interface CryptoStoreTokenException - If an error occurs on the token while
gathering the keys.protected void loadPrivateKeys(java.util.Collection<PrivateKey> privateKeys) throws TokenException
TokenExceptionpublic java.security.PublicKey[] getPublicKeys()
throws TokenException
CryptoStoregetPublicKeys in interface CryptoStoreTokenException - If an error occurs on the token while
gathering the keys.protected void loadPublicKeys(java.util.Collection<java.security.PublicKey> privateKeys)
throws TokenException
TokenExceptionpublic java.security.PublicKey findPublicKey(PrivateKey privateKey) throws TokenException, ObjectNotFoundException
CryptoStorefindPublicKey in interface CryptoStoreTokenException - If an error occurs on the token.ObjectNotFoundException - If the corresponding public key is not found.public SymmetricKey[] getSymmetricKeys() throws TokenException
CryptoStoregetSymmetricKeys in interface CryptoStoreTokenException - If an error occurs on the token while
gathering the keys.protected void putSymKeysInVector(java.util.Vector<SymmetricKey> symKeys) throws TokenException
TokenExceptionpublic void deletePrivateKey(PrivateKey privateKey) throws NoSuchItemOnTokenException, TokenException
CryptoStoredeletePrivateKey in interface CryptoStoreprivateKey - A private key to be permanently deleted.NoSuchItemOnTokenException - If the given private key does
not reside on this token.TokenException - If an error occurs on the token while
deleting the key.public void deletePublicKey(java.security.PublicKey publicKey)
throws NoSuchItemOnTokenException,
TokenException
CryptoStoredeletePublicKey in interface CryptoStorepublicKey - A public key to be permanently deleted.NoSuchItemOnTokenException - If the given public key does
not reside on this token.TokenException - If an error occurs on the token while
deleting the key.public byte[] getEncryptedPrivateKeyInfo(X509Certificate cert, PBEAlgorithm pbeAlg, Password pw, int iteration) throws NotInitializedException, ObjectNotFoundException, TokenException
CryptoStoregetEncryptedPrivateKeyInfo in interface CryptoStorecert - Certificate of key to be exportedpbeAlg - The PBEAlgorithm to usepw - The password to encrypt withiteration - Iteration count; default of 2000 if le 0NotInitializedExceptionObjectNotFoundExceptionTokenExceptionpublic byte[] getEncryptedPrivateKeyInfo(KeyGenerator.CharToByteConverter conv, Password pw, Algorithm alg, int n, PrivateKey k)
CryptoStoregetEncryptedPrivateKeyInfo in interface CryptoStoreconv - Password converter. If null, pw.getByteCopy()
will be used to get password bytes.pw - The passwordalg - The encryption algorithmn - Iteration count; default of 2000 if le 0k - The private keypublic void importEncryptedPrivateKeyInfo(KeyGenerator.CharToByteConverter conv, Password pw, java.lang.String nickname, java.security.PublicKey pubKey, byte[] epkiBytes)
importEncryptedPrivateKeyInfo in interface CryptoStoreconv - Password converter. If null, pw.getByteCopy()
will be used to get password bytes.pw - The passwordnickname - Nickname to use for private keypubKey - Public key corresponding to private keypublic X509Certificate[] getCertificates() throws TokenException
CryptoStoregetCertificates in interface CryptoStoreTokenException - If an error occurs on the token while
gathering the certificates.protected void putCertsInVector(java.util.Vector<X509Certificate> certs) throws TokenException
TokenExceptionpublic void deleteCert(X509Certificate cert) throws NoSuchItemOnTokenException, TokenException
deleteCert in interface CryptoStorecert - certificate to be deletedNoSuchItemOnTokenException - If the certificate not foundTokenException - General token errorpublic void deleteCertOnly(X509Certificate cert) throws NoSuchItemOnTokenException, TokenException
deleteCertOnly in interface CryptoStorecert - certificate to be deletedNoSuchItemOnTokenException - If the certificate not foundTokenException - General token error