Site Tools


Sidebar

Smart Card Solution

User Manual

JavaCard API Samples

Java Card Specification

Knowledge Sharing

javacard:java-card-api:rsaprivatekey

javacard.security

Interface RSAPrivateKey

All Superinterfaces: Key , PrivateKey


The RSAPrivateKey class is used to sign data using the RSA algorithm in its modulus/exponent form. It may also be used by the javacardx.crypto.Cipher class to encrypt/decrypt messages. When both the modulus and exponent of the key are set, the key is initialized and ready for use.

See Also:RSAPublicKey , RSAPrivateCrtKey , KeyBuilder , Signature , javacardx.crypto.Cipher , javacardx.crypto.KeyEncryption


Method Summary
 short getExponent (byte[] buffer,short offset)          Returns the private exponent value of the key in plain text.
 short getModulus (byte[] buffer,short offset)          Returns the modulus value of the key in plain text.
 void setExponent (byte[] buffer,short offset,short length)          Sets the private exponent value of the key.
 void setModulus (byte[] buffer,short offset,short length)          Sets the modulus value of the key.

 

Methods inherited from interface javacard.security.Key
clearKey , getSize , getType , isInitialized

 

Method Detail

setModulus

void setModulus(byte[] buffer, short offset, short length) throws CryptoException

Sets the modulus value of the key. The plain text data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). Input modulus data is copied into the internal representation. Note:

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


Parameters:buffer - the input buffer

offset - the offset into the input buffer at which the modulus value begins

length - the length of the modulus

Throws: CryptoException - with the following reason code:

  • CryptoException.ILLEGAL_VALUE if the input modulus data length is inconsistent with the implementation or if input data decryption is required and fails.



setExponent

void setExponent(byte[] buffer, short offset, short length) throws CryptoException

Sets the private exponent value of the key. The plain text data format is big-endian and right-aligned (the least significant bit is the least significant bit of last byte). Input exponent data is copied into the internal representation. Note:

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


Parameters:buffer - the input buffer

offset - the offset into the input buffer at which the exponent value begins

length - the length of the exponent

Throws: CryptoException - with the following reason code:

  • CryptoException.ILLEGAL_VALUE if the input exponent data length is inconsistent with the implementation or if input data decryption is required and fails.



getModulus

short getModulus(byte[] buffer, short offset)

Returns the modulus 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 modulus value starts

Returns:the byte length of the modulus value returned

Throws: CryptoException - with the following reason code:

  • CryptoException.UNINITIALIZED_KEY if the modulus value of the key has not been successfully initialized since the time the initialized state of the key was set to false.


See Also:Key


getExponent

short getExponent(byte[] buffer, short offset)

Returns the private exponent 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 exponent value begins

Returns:the byte length of the private exponent value returned

Throws: CryptoException - with the following reason code:

  • CryptoException.UNINITIALIZED_KEY if the private exponent value of the key has not been successfully initialized since the time the initialized state of the key was set to false.


See Also:Key

javacard/java-card-api/rsaprivatekey.txt · Last modified: 2017/05/13 04:05 (external edit)