public final class PK11Store extends java.lang.Object implements CryptoStore
Modifier and Type | Field and Description |
---|---|
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 key)
Deletes the given PrivateKey from the CryptoToken.
|
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.
|
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 |
putCertsInVector(java.util.Vector certs) |
protected void |
putKeysInVector(java.util.Vector keys) |
protected void |
putSymKeysInVector(java.util.Vector symKeys) |
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 CryptoStore
key
- 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
CryptoStore
importPrivateKey
in interface CryptoStore
key
- 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
CryptoStore
getPrivateKeys
in interface CryptoStore
TokenException
- If an error occurs on the token while
gathering the keys.public SymmetricKey[] getSymmetricKeys() throws TokenException
CryptoStore
getSymmetricKeys
in interface CryptoStore
TokenException
- If an error occurs on the token while
gathering the keys.protected void putKeysInVector(java.util.Vector keys) throws TokenException
TokenException
protected void putSymKeysInVector(java.util.Vector symKeys) throws TokenException
TokenException
public void deletePrivateKey(PrivateKey key) throws NoSuchItemOnTokenException, TokenException
CryptoStore
deletePrivateKey
in interface CryptoStore
key
- A PrivateKey to be permanently deleted. It must reside
on this token.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 byte[] getEncryptedPrivateKeyInfo(X509Certificate cert, PBEAlgorithm pbeAlg, Password pw, int iteration) throws CryptoManager.NotInitializedException, ObjectNotFoundException, TokenException
CryptoStore
getEncryptedPrivateKeyInfo
in interface CryptoStore
cert
- Certificate of key to be exportedpbeAlg
- The PBEAlgorithm to usepw
- The password to encrypt withiteration
- Iteration count; default of 2000 if le 0CryptoManager.NotInitializedException
ObjectNotFoundException
TokenException
public byte[] getEncryptedPrivateKeyInfo(KeyGenerator.CharToByteConverter conv, Password pw, Algorithm alg, int n, PrivateKey k)
CryptoStore
getEncryptedPrivateKeyInfo
in interface CryptoStore
conv
- 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 CryptoStore
conv
- 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
CryptoStore
getCertificates
in interface CryptoStore
TokenException
- If an error occurs on the token while
gathering the certificates.protected void putCertsInVector(java.util.Vector certs) throws TokenException
TokenException
public void deleteCert(X509Certificate cert) throws NoSuchItemOnTokenException, TokenException
deleteCert
in interface CryptoStore
cert
- certificate to be deletedNoSuchItemOnTokenException
- If the certificate not foundTokenException
- General token errorpublic void deleteCertOnly(X509Certificate cert) throws NoSuchItemOnTokenException, TokenException
cert
- certificate to be deletedNoSuchItemOnTokenException
- If the certificate not foundTokenException
- General token error