Class PK11PrivKey

java.lang.Object
org.mozilla.jss.pkcs11.PK11Key
org.mozilla.jss.pkcs11.PK11PrivKey
All Implemented Interfaces:
Serializable, AutoCloseable, Key, PrivateKey, Destroyable, PrivateKey
Direct Known Subclasses:
PK11DSAPrivateKey, PK11ECPrivateKey, PK11RSAPrivateKey

public class PK11PrivKey extends PK11Key implements PrivateKey
See Also:
  • Field Details

  • Constructor Details

    • PK11PrivKey

      private PK11PrivKey()
    • PK11PrivKey

      protected PK11PrivKey(byte[] pointer)
  • Method Details

    • verifyKeyIsOnToken

      public void verifyKeyIsOnToken(PK11Token token) throws NoSuchItemOnTokenException
      Make sure this key lives on the given token.
      Throws:
      NoSuchItemOnTokenException
    • getOwningToken

      public CryptoToken getOwningToken()
      Returns a new CryptoToken where this key resides.
      Specified by:
      getOwningToken in interface PrivateKey
      Returns:
      The PK11Token that owns this key.
    • getUniqueID

      public byte[] getUniqueID() throws TokenException
      Description copied from interface: PrivateKey
      Returns the unique ID of this key. Unique IDs can be used to match certificates to keys.
      Specified by:
      getUniqueID in interface PrivateKey
      Throws:
      TokenException
      See Also:
    • getKeyType

      public KeyType getKeyType()
    • getType

      public PrivateKey.Type getType()
      Description copied from interface: PrivateKey
      Returns the type (RSA or DSA) of this private key.
      Specified by:
      getType in interface PrivateKey
    • getAlgorithm

      public String getAlgorithm()
      Specified by:
      getAlgorithm in interface Key
    • getStrength

      public int getStrength()
      Returns the size in bits of the modulus of an RSA Private key. Returns -1 for other types of keys.
      Specified by:
      getStrength in interface PrivateKey
    • getPublicKey

      public PK11PubKey getPublicKey()
      Returns the corresponding public key from a private key instance.
    • fromPrivateKeyInfo

      public static PK11PrivKey fromPrivateKeyInfo(PKCS8EncodedKeySpec spec, CryptoToken token) throws TokenException
      Imports a PrivateKeyInfo, storing it as a temporary PrivateKey on the given token. The key will be a temporary (session) key until it is imported into a KeyStore, at which point it will be made a permanent (token) object.
      Throws:
      TokenException
    • fromPrivateKeyInfo

      public static PK11PrivKey fromPrivateKeyInfo(byte[] pki, CryptoToken token) throws TokenException
      Imports a PrivateKeyInfo, storing it as a temporary PrivateKey on the given token. The key will be a temporary (session) key until it is imported into a KeyStore, at which point it will be made a permanent (token) object.
      Throws:
      TokenException
    • fromPrivateKeyInfo

      public static PK11PrivKey fromPrivateKeyInfo(byte[] pki, CryptoToken token, byte[] publicValue) throws TokenException
      Imports a PrivateKeyInfo, storing it as a temporary PrivateKey on the given token. The key will be a temporary (session) key until it is imported into a KeyStore, at which point it will be made a permanent (token) object.
      Parameters:
      publicValue - An encoding of the public key, as used by the NSS pk11wrap code. Don't use this unless you know what you're doing.
      Throws:
      TokenException
    • getDSAParams

      protected DSAParameterSpec getDSAParams() throws TokenException
      Throws:
      TokenException
    • getDSAParamsNative

      private byte[][] getDSAParamsNative() throws TokenException
      Throws:
      TokenException