JSS 3.2

org.mozilla.jss.pkcs11
Class PK11PubKey

java.lang.Object
  |
  +--org.mozilla.jss.pkcs11.PK11Key
        |
        +--org.mozilla.jss.pkcs11.PK11PubKey
All Implemented Interfaces:
java.security.Key, java.security.PublicKey, java.io.Serializable
Direct Known Subclasses:
PK11DSAPublicKey, PK11RSAPublicKey

public class PK11PubKey
extends PK11Key
implements java.security.PublicKey

See Also:
Serialized Form

Field Summary
protected  KeyProxy keyProxy
           
 
Fields inherited from interface java.security.PublicKey
serialVersionUID
 
Constructor Summary
protected PK11PubKey(byte[] pointer)
           
 
Method Summary
private static PK11PubKey DSAFromRaw(byte[] rawKey)
          deprecated Use fromRawNative instead.
static PK11PubKey fromRaw(PrivateKey.Type type, byte[] rawKey)
          Deprecated. This method works for RSA keys but not DSA keys. Use fromSPKI() instead.
private static PK11PubKey fromRawNative(int type, byte[] rawKey)
          param type The PKCS #11 type of the key (CKK_).
static PK11PubKey fromSPKI(byte[] spki)
          Creates a PK11PubKey from a SubjectPublicKeyInfo.
 java.lang.String getAlgorithm()
           
 byte[] getEncoded()
          Returns a DER-encoded SubjectPublicKeyInfo representing this key.
 java.lang.String getFormat()
          The name of the primary encoding format of this key.
 KeyType getKeyType()
           
private static PK11PubKey RSAFromRaw(byte[] rawKey)
          deprecated Use fromRawNative instead.
 void verifyKeyIsOnToken(PK11Token token)
          Make sure this key lives on the given token.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

keyProxy

protected KeyProxy keyProxy
Constructor Detail

PK11PubKey

protected PK11PubKey(byte[] pointer)
Method Detail

verifyKeyIsOnToken

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

NoSuchItemOnTokenException

getKeyType

public KeyType getKeyType()

getAlgorithm

public java.lang.String getAlgorithm()
Specified by:
getAlgorithm in interface java.security.Key
Overrides:
getAlgorithm in class PK11Key

fromRaw

public static PK11PubKey fromRaw(PrivateKey.Type type,
                                 byte[] rawKey)
                          throws InvalidKeyFormatException
Deprecated. This method works for RSA keys but not DSA 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:
fromSPKI(byte[])

fromRawNative

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

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 java.security.Key
Overrides:
getEncoded in class PK11Key

getFormat

public java.lang.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 java.security.Key
Overrides:
getFormat in class PK11Key

JSS 3.2