Class NSSCryptoProvider

    • 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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 class CryptoProvider
        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 class CryptoProvider
        Throws:
        java.lang.Exception
      • generateSessionKey

        public org.mozilla.jss.crypto.SymmetricKey generateSessionKey()
                                                               throws java.lang.Exception
        Specified by:
        generateSessionKey in class CryptoProvider
        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 class CryptoProvider
        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 class CryptoProvider
        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 class CryptoProvider
        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 class CryptoProvider
        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 class CryptoProvider
        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 class CryptoProvider
        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 class CryptoProvider
        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 class CryptoProvider
        Throws:
        java.lang.Exception
      • unwrapWithPassphrase

        public byte[] unwrapWithPassphrase​(byte[] wrappedRecoveredKey,
                                           java.lang.String recoveryPassphrase)
                                    throws java.lang.Exception
        Specified by:
        unwrapWithPassphrase in class CryptoProvider
        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 class CryptoProvider
        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 class CryptoProvider
        Throws:
        java.lang.Exception