Package com.netscape.certsrv.util
Class NSSCryptoProvider
- java.lang.Object
-
- com.netscape.certsrv.util.CryptoProvider
-
- com.netscape.certsrv.util.NSSCryptoProvider
-
public class NSSCryptoProvider extends CryptoProvider
-
-
Constructor Summary
Constructors Constructor Description NSSCryptoProvider(ClientConfig config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
encryptSecret(byte[] secret, byte[] iv, org.mozilla.jss.crypto.SymmetricKey key, java.lang.String encryptionAlgorithm)
byte[]
encryptSecret(byte[] secret, byte[] iv, org.mozilla.jss.crypto.SymmetricKey key, org.mozilla.jss.crypto.EncryptionAlgorithm encryptionAlgorithm)
org.mozilla.jss.crypto.SymmetricKey
generateSessionKey()
org.mozilla.jss.crypto.SymmetricKey
generateSessionKey(org.mozilla.jss.crypto.EncryptionAlgorithm algorithm)
org.mozilla.jss.crypto.SymmetricKey
generateSymmetricKey(java.lang.String keyAlgorithm, int keySize)
org.mozilla.jss.crypto.EncryptionAlgorithm
getEncryptionAlgorithm(java.lang.String encryptionAlgorithm)
org.mozilla.jss.crypto.KeyGenAlgorithm
getKeyGenAlgorithm(java.lang.String keyAlgorithm)
org.mozilla.jss.CryptoManager
getManager()
org.mozilla.jss.crypto.CryptoToken
getToken()
void
initialize()
Initializes the NSS DB.void
setManager(org.mozilla.jss.CryptoManager manager)
void
setToken(org.mozilla.jss.crypto.CryptoToken token)
byte[]
unwrapAsymmetricKeyWithSessionKey(byte[] wrappedRecoveredKey, org.mozilla.jss.crypto.SymmetricKey recoveryKey, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlgorithm, byte[] nonceData, java.security.PublicKey pubKey)
byte[]
unwrapSymmetricKeyWithSessionKey(byte[] wrappedRecoveredKey, org.mozilla.jss.crypto.SymmetricKey recoveryKey, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlgorithm, byte[] nonceData, java.lang.String algorithm, int size)
byte[]
unwrapWithPassphrase(byte[] wrappedRecoveredKey, java.lang.String recoveryPassphrase)
byte[]
unwrapWithSessionKey(byte[] wrappedRecoveredKey, org.mozilla.jss.crypto.SymmetricKey recoveryKey, java.lang.String encryptionAlgorithm, byte[] nonceData)
byte[]
unwrapWithSessionKey(byte[] wrappedRecoveredKey, org.mozilla.jss.crypto.SymmetricKey recoveryKey, org.mozilla.jss.crypto.EncryptionAlgorithm encryptionAlgorithm, byte[] nonceData)
byte[]
wrapSymmetricKey(org.mozilla.jss.crypto.SymmetricKey symmetricKey, java.security.PublicKey wrappingKey)
byte[]
wrapWithSessionKey(org.mozilla.jss.crypto.SymmetricKey secret, org.mozilla.jss.crypto.SymmetricKey sessionKey, byte[] iv)
byte[]
wrapWithSessionKey(org.mozilla.jss.crypto.SymmetricKey secret, org.mozilla.jss.crypto.SymmetricKey sessionKey, byte[] iv, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlg)
-
-
-
Constructor Detail
-
NSSCryptoProvider
public NSSCryptoProvider(ClientConfig config) throws java.lang.Exception
- Throws:
java.lang.Exception
-
-
Method Detail
-
getManager
public org.mozilla.jss.CryptoManager getManager()
-
setManager
public void setManager(org.mozilla.jss.CryptoManager manager)
-
getToken
public org.mozilla.jss.crypto.CryptoToken getToken()
-
setToken
public void setToken(org.mozilla.jss.crypto.CryptoToken token)
-
initialize
public void initialize() throws java.lang.Exception
Initializes the NSS DB.- Specified by:
initialize
in classCryptoProvider
- Throws:
java.lang.Exception
-
generateSymmetricKey
public org.mozilla.jss.crypto.SymmetricKey generateSymmetricKey(java.lang.String keyAlgorithm, int keySize) throws java.lang.Exception
- Specified by:
generateSymmetricKey
in classCryptoProvider
- Throws:
java.lang.Exception
-
generateSessionKey
public org.mozilla.jss.crypto.SymmetricKey generateSessionKey() throws java.lang.Exception
- Specified by:
generateSessionKey
in classCryptoProvider
- Throws:
java.lang.Exception
-
generateSessionKey
public org.mozilla.jss.crypto.SymmetricKey generateSessionKey(org.mozilla.jss.crypto.EncryptionAlgorithm algorithm) throws java.lang.Exception
- Specified by:
generateSessionKey
in classCryptoProvider
- Throws:
java.lang.Exception
-
wrapSymmetricKey
public byte[] wrapSymmetricKey(org.mozilla.jss.crypto.SymmetricKey symmetricKey, java.security.PublicKey wrappingKey) throws java.lang.Exception
- Specified by:
wrapSymmetricKey
in classCryptoProvider
- Throws:
java.lang.Exception
-
encryptSecret
public byte[] encryptSecret(byte[] secret, byte[] iv, org.mozilla.jss.crypto.SymmetricKey key, java.lang.String encryptionAlgorithm) throws java.lang.Exception
- Specified by:
encryptSecret
in classCryptoProvider
- Throws:
java.lang.Exception
-
encryptSecret
public byte[] encryptSecret(byte[] secret, byte[] iv, org.mozilla.jss.crypto.SymmetricKey key, org.mozilla.jss.crypto.EncryptionAlgorithm encryptionAlgorithm) throws java.lang.Exception
- Specified by:
encryptSecret
in classCryptoProvider
- Throws:
java.lang.Exception
-
unwrapWithSessionKey
public byte[] unwrapWithSessionKey(byte[] wrappedRecoveredKey, org.mozilla.jss.crypto.SymmetricKey recoveryKey, java.lang.String encryptionAlgorithm, byte[] nonceData) throws java.lang.Exception
- Specified by:
unwrapWithSessionKey
in classCryptoProvider
- Throws:
java.lang.Exception
-
unwrapWithSessionKey
public byte[] unwrapWithSessionKey(byte[] wrappedRecoveredKey, org.mozilla.jss.crypto.SymmetricKey recoveryKey, org.mozilla.jss.crypto.EncryptionAlgorithm encryptionAlgorithm, byte[] nonceData) throws java.lang.Exception
- Specified by:
unwrapWithSessionKey
in classCryptoProvider
- Throws:
java.lang.Exception
-
unwrapSymmetricKeyWithSessionKey
public byte[] unwrapSymmetricKeyWithSessionKey(byte[] wrappedRecoveredKey, org.mozilla.jss.crypto.SymmetricKey recoveryKey, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlgorithm, byte[] nonceData, java.lang.String algorithm, int size) throws java.lang.Exception
- Specified by:
unwrapSymmetricKeyWithSessionKey
in classCryptoProvider
- Throws:
java.lang.Exception
-
unwrapAsymmetricKeyWithSessionKey
public byte[] unwrapAsymmetricKeyWithSessionKey(byte[] wrappedRecoveredKey, org.mozilla.jss.crypto.SymmetricKey recoveryKey, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlgorithm, byte[] nonceData, java.security.PublicKey pubKey) throws java.lang.Exception
- Specified by:
unwrapAsymmetricKeyWithSessionKey
in classCryptoProvider
- Throws:
java.lang.Exception
-
unwrapWithPassphrase
public byte[] unwrapWithPassphrase(byte[] wrappedRecoveredKey, java.lang.String recoveryPassphrase) throws java.lang.Exception
- Specified by:
unwrapWithPassphrase
in classCryptoProvider
- Throws:
java.lang.Exception
-
getKeyGenAlgorithm
public org.mozilla.jss.crypto.KeyGenAlgorithm getKeyGenAlgorithm(java.lang.String keyAlgorithm) throws java.security.NoSuchAlgorithmException
- Throws:
java.security.NoSuchAlgorithmException
-
getEncryptionAlgorithm
public org.mozilla.jss.crypto.EncryptionAlgorithm getEncryptionAlgorithm(java.lang.String encryptionAlgorithm) throws java.security.NoSuchAlgorithmException
- Throws:
java.security.NoSuchAlgorithmException
-
wrapWithSessionKey
public byte[] wrapWithSessionKey(org.mozilla.jss.crypto.SymmetricKey secret, org.mozilla.jss.crypto.SymmetricKey sessionKey, byte[] iv) throws java.lang.Exception
- Specified by:
wrapWithSessionKey
in classCryptoProvider
- Throws:
java.lang.Exception
-
wrapWithSessionKey
public byte[] wrapWithSessionKey(org.mozilla.jss.crypto.SymmetricKey secret, org.mozilla.jss.crypto.SymmetricKey sessionKey, byte[] iv, org.mozilla.jss.crypto.KeyWrapAlgorithm wrapAlg) throws java.lang.Exception
- Specified by:
wrapWithSessionKey
in classCryptoProvider
- Throws:
java.lang.Exception
-
-