org.mozilla.jss.crypto
Interface CryptoStore

All Known Implementing Classes:
PK11Store

public interface CryptoStore

This is an interface for a permanent repository of cryptographic objects, such as keys, certs, and passwords.


Method Summary
 void deleteCert(X509Certificate cert)
          Deletes a certificate from a token.
 void deletePrivateKey(PrivateKey key)
          Deletes the given PrivateKey from the CryptoToken.
 X509Certificate[] getCertificates()
          Returns all user certificates stored on this token.
 byte[] getEncryptedPrivateKeyInfo(X509Certificate cert, PBEAlgorithm pbeAlg, Password pw, int iteration)
           
 PrivateKey[] getPrivateKeys()
          Returns all private keys stored on this token.
 void importPrivateKey(byte[] key, PrivateKey.Type type)
          Imports a raw private key into this token.
 

Method Detail

importPrivateKey

void importPrivateKey(byte[] key,
                      PrivateKey.Type type)
                      throws TokenException,
                             KeyAlreadyImportedException
Imports a raw private key into this token.

Parameters:
key - The private key.
Throws:
TokenException - If the key cannot be imported to this token.
KeyAlreadyImportedException - If the key already exists on this token.

getPrivateKeys

PrivateKey[] getPrivateKeys()
                            throws TokenException
Returns all private keys stored on this token.

Returns:
An array of all private keys stored on this token.
Throws:
TokenException - If an error occurs on the token while gathering the keys.

deletePrivateKey

void deletePrivateKey(PrivateKey key)
                      throws NoSuchItemOnTokenException,
                             TokenException
Deletes the given PrivateKey from the CryptoToken. This is a very dangerous call: it deletes the key from the underlying token. After calling this, the PrivateKey passed in must no longer be used, or a TokenException will occur.

Parameters:
key - A PrivateKey to be permanently deleted. It must reside on this token.
Throws:
NoSuchItemOnTokenException - If the given private key does not reside on this token.
TokenException - If an error occurs on the token while deleting the key.

getEncryptedPrivateKeyInfo

byte[] getEncryptedPrivateKeyInfo(X509Certificate cert,
                                  PBEAlgorithm pbeAlg,
                                  Password pw,
                                  int iteration)

getCertificates

X509Certificate[] getCertificates()
                                  throws TokenException
Returns all user certificates stored on this token. A user certificate is one that has a matching private key.

Returns:
An array of all user certificates present on this token.
Throws:
TokenException - If an error occurs on the token while gathering the certificates.

deleteCert

void deleteCert(X509Certificate cert)
                throws NoSuchItemOnTokenException,
                       TokenException
Deletes a certificate from a token.

Parameters:
cert - A certificate to be deleted from this token. The cert must actually reside on this token.
Throws:
NoSuchItemOnTokenException - If the given cert does not reside on this token.
TokenException - If an error occurred on the token while deleting the certificate.