gnu.crypto.key.rsa
Class RSAKeyPairRawCodec
public
class
RSAKeyPairRawCodec
extends Object
implements IKeyPairCodec
An object that implements the IKeyPairCodec interface for the
Raw format to use with RSA keypairs.
Version: $Revision: 1.2 $
Method Summary |
PrivateKey | decodePrivateKey(byte[] k) |
PublicKey | decodePublicKey(byte[] k) |
byte[] | encodePrivateKey(PrivateKey key)
Returns the encoded form of the designated RSA private key according to
the Raw format supported by this library.
The Raw format for an RSA private key, in this implementation,
is a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
MAGIC_RAW_RSA_PRIVATE_KEY,
-
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the RSA parameter
p (the first prime factor of the modulus) in internet
order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the RSA parameter p ,
- 4-byte count of following bytes representing the RSA parameter
q (the second prime factor of the modulus) in internet
order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the RSA parameter q ,
- 4-byte count of following bytes representing the RSA parameter
e (the public exponent) in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the RSA parameter e ,
- 4-byte count of following bytes representing the RSA parameter
d (the private exponent) in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the RSA parameter d ,
|
byte[] | encodePublicKey(PublicKey key)
Returns the encoded form of the designated RSA public key according to
the Raw format supported by this library.
The Raw format for an RSA public key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
MAGIC_RAW_RSA_PUBLIC_KEY,
-
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the RSA parameter
n (the modulus) in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the RSA parameter n ,
- 4-byte count of following bytes representing the RSA parameter
e (the public exponent) in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray() method on the RSA parameter e .
|
int | getFormatID() |
public PrivateKey decodePrivateKey(byte[] k)
public PublicKey decodePublicKey(byte[] k)
public byte[] encodePrivateKey(PrivateKey key)
Returns the encoded form of the designated RSA private key according to
the Raw format supported by this library.
The Raw format for an RSA private key, in this implementation,
is a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
MAGIC_RAW_RSA_PRIVATE_KEY,
-
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the RSA parameter
p
(the first prime factor of the modulus) in internet
order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the RSA parameter p
,
- 4-byte count of following bytes representing the RSA parameter
q
(the second prime factor of the modulus) in internet
order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the RSA parameter q
,
- 4-byte count of following bytes representing the RSA parameter
e
(the public exponent) in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the RSA parameter e
,
- 4-byte count of following bytes representing the RSA parameter
d
(the private exponent) in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the RSA parameter d
,
Parameters: key the key to encode.
Returns: the Raw format encoding of the designated key.
public byte[] encodePublicKey(PublicKey key)
Returns the encoded form of the designated RSA public key according to
the Raw format supported by this library.
The Raw format for an RSA public key, in this implementation, is
a byte sequence consisting of the following:
- 4-byte magic consisting of the value of the literal
MAGIC_RAW_RSA_PUBLIC_KEY,
-
- 1-byte version consisting of the constant: 0x01,
- 4-byte count of following bytes representing the RSA parameter
n
(the modulus) in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the RSA parameter n
,
- 4-byte count of following bytes representing the RSA parameter
e
(the public exponent) in internet order,
- n-bytes representation of a BigInteger obtained by invoking
the
toByteArray()
method on the RSA parameter e
.
Parameters: key the key to encode.
Returns: the Raw format encoding of the designated key.
Throws: IllegalArgumentException if the designated key is not an RSA
one.
public int getFormatID()