Java Card 2.1 Platform
Final Revision 1.0

javacard.security
Interface DSAKey

All Known Subinterfaces:
DSAPrivateKey, DSAPublicKey

public abstract interface DSAKey

The DSAKey interface is the base interface for the DSA algorithms private and public key implementaions. A DSA private key implementation must also implement the DSAPrivateKey interface methods. A DSA public key implementation must also implement the DSAPublicKey interface methods.

When all four components of the key (X or Y,P,Q,G) are set, the key is initialized and ready for use.

See Also:
DSAPublicKey, DSAPrivateKey, KeyBuilder, Signature, KeyEncryption

Method Summary
 short getG(byte[] buffer, short offset)
          Returns the subprime parameter value of the key in plain text.
 short getP(byte[] buffer, short offset)
          Returns the base parameter value of the key in plain text.
 short getQ(byte[] buffer, short offset)
          Returns the prime parameter value of the key in plain text.
 void setG(byte[] buffer, short offset, short length)
          Sets the subprime parameter value of the key.
 void setP(byte[] buffer, short offset, short length)
          Sets the base parameter value of the key.
 void setQ(byte[] buffer, short offset, short length)
          Sets the prime parameter value of the key.
 

Method Detail

setP

public void setP(byte[] buffer,
                 short offset,
                 short length)
          throws CryptoException
Sets the base parameter value of the key. The plaintext data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). Input base parameter data is copied into the internal representation.
Parameters:
buffer - the input buffer
offset - the offset into the input buffer at which the base parameter value begins
length - the length of the base parameter value
Throws:
CryptoException - with the following reason code:
  • CryptoException.ILLEGAL_VALUE if the input parameter data length is inconsistent with the implementation or if input data decryption is required and fails.

Note:

  • If the key object implements the javacardx.crypto.KeyEncryption interface and the Cipher object specified via setKeyCipher() is not null, the base parameter value is decrypted using the Cipher object.

setQ

public void setQ(byte[] buffer,
                 short offset,
                 short length)
          throws CryptoException
Sets the prime parameter value of the key. The plaintext data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). Input prime parameter data is copied into the internal representation.
Parameters:
buffer - the input buffer
offset - the offset into the input buffer at which the prime parameter value begins
length - the length of the prime parameter value
Throws:
CryptoException - with the following reason code:
  • CryptoException.ILLEGAL_VALUE if the input parameter data length is inconsistent with the implementation or if input data decryption is required and fails.

Note:

  • If the key object implements the javacardx.crypto.KeyEncryption interface and the Cipher object specified via setKeyCipher() is not null, the prime parameter value is decrypted using the Cipher object.

setG

public void setG(byte[] buffer,
                 short offset,
                 short length)
          throws CryptoException
Sets the subprime parameter value of the key. The plaintext data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). Input subprime parameter data is copied into the internal representation.
Parameters:
buffer - the input buffer
offset - the offset into the input buffer at which the subprime parameter value begins
length - the length of the subprime parameter value
Throws:
CryptoException - with the following reason code:
  • CryptoException.ILLEGAL_VALUE if the input parameter data length is inconsistent with the implementation or if input data decryption is required and fails.

Note:

  • If the key object implements the javacardx.crypto.KeyEncryption interface and the Cipher object specified via setKeyCipher() is not null, the subprime parameter value is decrypted using the Cipher object.

getP

public short getP(byte[] buffer,
                  short offset)
Returns the base parameter value of the key in plain text. The data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte).
Parameters:
buffer - the output buffer
offset - the offset into the output buffer at which the base parameter value starts
Returns:
the byte length of the base parameter value returned

getQ

public short getQ(byte[] buffer,
                  short offset)
Returns the prime parameter value of the key in plain text. The data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte).
Parameters:
buffer - the output buffer
offset - the offset into the output buffer at which the prime parameter value begins
Returns:
the byte length of the prime parameter value returned

getG

public short getG(byte[] buffer,
                  short offset)
Returns the subprime parameter value of the key in plain text. The data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte).
Parameters:
buffer - the output buffer
offset - the offset into the output buffer at which the subprime parameter value begins
Returns:
the byte length of the subprime parameter value returned

Submit a bug or feature

Java and Java Card are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-1999 Sun Microsystems, Inc.
901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
All Rights Reserved.