Package javacard.security
Interface RSAPublicKey
-
public interface RSAPublicKey extends PublicKey
TheRSAPublicKey
is used to verify signatures on signed data using the RSA algorithm. It may also used by thejavacardx.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.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description short
getExponent(byte[] buffer, short offset)
Returns the public 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 public 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 plaintext 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 theCipher
object specified viasetKeyCipher()
is notnull
, the modulus value is decrypted using theCipher
object.
- Parameters:
buffer
- the input bufferoffset
- the offset into the input buffer at which the modulus value beginslength
- the byte 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.
- If the key object implements the
-
setExponent
void setExponent(byte[] buffer, short offset, short length) throws CryptoException
Sets the public exponent 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 exponent data is copied into the internal representation.Notes:
- All implementations must support exponent values up to 4 bytes in length. Implementations may also support exponent values greater than 4 bytes in length.
- If the key object implements the
javacardx.crypto.KeyEncryption
interface and theCipher
object specified viasetKeyCipher()
is notnull
, the exponent value is decrypted using theCipher
object.
- Parameters:
buffer
- the input bufferoffset
- the offset into the input buffer at which the exponent value beginslength
- the byte 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 or if the implementation does not support the specified exponent length.
-
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 bufferoffset
- the offset into the input 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 public 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 bufferoffset
- the offset into the output buffer at which the exponent value begins- Returns:
- the byte length of the public exponent returned
- Throws:
CryptoException
- with the following reason code:CryptoException.UNINITIALIZED_KEY
if the public 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
-
-