RSAKey Type
Contains the typical parameters for the RSA algorithm.
Remarks
This type is made up of fields that represent the private and public key parameters used by the RSA algorithm.
RSA Keys
A RSA key is made up of a number of individual parameters.
The public key consists of the following parameters:
The component also includes the PublicKey field which holds the PEM formatted public key for
ease of use. This is helpful if you are in control of both sides of the encryption/signing and decryption/signature verification process.
When sending the public key to a recipient note that not all implementations will support using the PEM formatted value in PublicKey in which case the individual
parameters must be sent.
The private key may be represented in one of two ways. Both are mathematically equivalent. Private key format 1:
Private key format 2 is simpler but has decreased performance when decrypting and signing. This format is:
The component also include the
PrivateKey field which holds the PEM formatted private key for ease of use. This is helpful for storing the private key more easily.
Fields
| |
D String |
Represents the D parameter for the RSA algorithm.
|
DB Byte[] |
Represents the D parameter for the RSA algorithm.
|
DP String |
Represents the DP parameter for the RSA algorithm.
|
DPB Byte[] |
Represents the DP parameter for the RSA algorithm.
|
DQ String |
Represents the DQ parameter for the RSA algorithm.
|
DQB Byte[] |
Represents the DQ parameter for the RSA algorithm.
|
Exponent String |
Represents the Exponent parameter for the RSA algorithm.
|
ExponentB Byte[] |
Represents the Exponent parameter for the RSA algorithm.
|
InverseQ String |
Represents the InverseQ parameter for the RSA algorithm. This parameter is optional and
is automatically calculated as necessary.
|
InverseQB Byte[] |
Represents the InverseQ parameter for the RSA algorithm. This parameter is optional and
is automatically calculated as necessary.
|
Modulus String |
Represents the Modulus parameter for the RSA algorithm.
|
ModulusB Byte[] |
Represents the Modulus parameter for the RSA algorithm.
|
P String |
Represents the P parameter for the RSA algorithm.
|
PB Byte[] |
Represents the P parameter for the RSA algorithm.
|
PrivateKey String |
This field is a PEM formatted private key.
The purpose of this field is to allow easier management of the private key parameters by using only a single value.
|
PublicKey String |
This field is a PEM formatted public key.
The purpose of this field is to allow easier management of the public key parameters by using only a single value.
|
Q String |
Represents the Q parameter for the RSA algorithm.
|
QB Byte[] |
Represents the Q parameter for the RSA algorithm.
|
Constructors
[VB.NET]
Public RSAKey()
[C#]
public RSAKey();
The default constructor creates a new RSAKey instance but does not assign a public or private key.
[VB.NET]
Public RSAKey(ByVal Modulus As String, ByVal Exponent As String)
[C#]
public RSAKey(byte[] modulus, byte[] exponent);
The public key constructor assigns an existing public key.
[VB.NET]
Public RSAKey(ByVal Modulus As String, ByVal D As String, ByVal P As String, ByVal Q As String, ByVal DP As String, ByVal DQ As String)
[C#]
public RSAKey(byte[] modulus, byte[] D, byte[] P, byte[] Q, byte[] DP, byte[] DQ);
The private key constructor assigns an existing private key. Any valid combination of parameters representing a private key may be supplied. See the description at the top of this page for details on RSA private key formats.