ECCKey Type
Contains the parameters for the ECC algorithm.
Remarks
This type is made up of fields that represent the private and public key parameters used by the ECC operations. The PrivateKey and PublicKey parameters hold a PEM formatted value for easy transport and storage of keys.
NIST Curve Notes
Keys for use with the secp256r1, secp384r1, and secp521r1 curves are made up of a number of individual parameters.
The public key consists of the following parameters:
The private key consists of one value:
Curve25519 and Curve448 Notes
Keys for use with Curve25519 or Curve448 are made up of a private key and public key field.
XPk holds the public key.
XSk holds the private key.
Fields
Algorithm TipcECAlgorithms |
This property holds the algorithm associated with the key. Possible values are:
When assigning a key using the PEM formatted PrivateKey and PublicKey the Algorithm property will be automatically updated with the key algorithm. When assigning a key using the raw key parameters (K, Rx, and Ry for NIST or XPk, and XSk for Curve25519/Curve448) the Algorithm property must be set manually to the key algorithm. The following table summarizes the supported operations for keys created with each algorithm:
| ||||||||||||||||||||||||
K String |
Represent the private key (K) parameter. Note: This value is only applicable when using a NIST curve. | ||||||||||||||||||||||||
KB TBytes |
Represent the private key (K) parameter. Note: This value is only applicable when using a NIST curve. | ||||||||||||||||||||||||
PrivateKey String |
This property is a PEM formatted private key. The purpose of this property is to allow easier management of the private key parameters by using only a single value. | ||||||||||||||||||||||||
PublicKey String |
This property is a PEM formatted public key. The purpose of this property is to allow easier management of the public key parameters by using only a single value. | ||||||||||||||||||||||||
Rx String |
Represents the public key's Rx parameter. Note: This value is only applicable when using a NIST curve. | ||||||||||||||||||||||||
RxB TBytes |
Represents the public key's Rx parameter. Note: This value is only applicable when using a NIST curve. | ||||||||||||||||||||||||
Ry String |
Represents the public key's Ry parameter. Note: This value is only applicable when using a NIST curve. | ||||||||||||||||||||||||
RyB TBytes |
Represents the public key's Ry parameter. Note: This value is only applicable when using a NIST curve. | ||||||||||||||||||||||||
XPk String |
Holds the public key data. Note: This value is only applicable when using Curve25519 or Curve448. | ||||||||||||||||||||||||
XPkB TBytes |
Holds the public key data. Note: This value is only applicable when using Curve25519 or Curve448. | ||||||||||||||||||||||||
XSk String |
Holds the private key data. Note: This value is only applicable when using Curve25519 or Curve448. | ||||||||||||||||||||||||
XSkB TBytes |
Holds the private key data. Note: This value is only applicable when using Curve25519 or Curve448. |
Constructors
constructor Create();
The default constructor creates a new ECCKey instance but does not assign a public or private key.