Class PK11PubKey

java.lang.Object
org.mozilla.jss.pkcs11.PK11Key
org.mozilla.jss.pkcs11.PK11PubKey
All Implemented Interfaces:
Serializable, AutoCloseable, Key, PublicKey
Direct Known Subclasses:
PK11DSAPublicKey, PK11ECPublicKey, PK11RSAPublicKey

public class PK11PubKey extends PK11Key implements PublicKey
See Also:
  • Field Details

  • Constructor Details

    • PK11PubKey

      protected PK11PubKey(byte[] pointer)
  • Method Details

    • verifyKeyIsOnToken

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

      public KeyType getKeyType()
    • getAlgorithm

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

      @Deprecated public static PK11PubKey fromRaw(PrivateKey.Type type, byte[] rawKey) throws InvalidKeyFormatException
      Deprecated.
      This method works for RSA keys but not DSA or EC keys. Use fromSPKI() instead.
      Creates a PK11PubKey from its raw form. The raw form is a DER encoding of the public key. For example, this is what is stored in a SubjectPublicKeyInfo.
      Parameters:
      type - The type of private key to be decoded.
      rawKey - The bytes of the raw key.
      Throws:
      InvalidKeyFormatException - If the raw key could not be decoded.
      See Also:
    • fromRawNative

      private static PK11PubKey fromRawNative(int type, byte[] rawKey) throws InvalidKeyFormatException
      param type The PKCS #11 type of the key (CKK_).
      Throws:
      InvalidKeyFormatException
    • fromSPKI

      public static PK11PubKey fromSPKI(byte[] spki) throws InvalidKeyFormatException
      Creates a PK11PubKey from a SubjectPublicKeyInfo.
      Parameters:
      spki - The BER-encoded SubjectPublicKeyInfo.
      Throws:
      InvalidKeyFormatException - If the SPKI could not be decoded.
    • RSAFromRaw

      private static PK11PubKey RSAFromRaw(byte[] rawKey)
      deprecated Use fromRawNative instead.
    • DSAFromRaw

      private static PK11PubKey DSAFromRaw(byte[] rawKey)
      deprecated Use fromRawNative instead.
    • getEncoded

      public byte[] getEncoded()
      Returns a DER-encoded SubjectPublicKeyInfo representing this key.
      Specified by:
      getEncoded in interface Key
      Overrides:
      getEncoded in class PK11Key
    • getFormat

      public String getFormat()
      The name of the primary encoding format of this key. The primary encoding format is X.509 SubjectPublicKeyInfo, and the name is "X.509".
      Specified by:
      getFormat in interface Key
      Overrides:
      getFormat in class PK11Key