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 ECAlgorithms |
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:
| ||||||||||||||||||||||||
kB Data |
Represent the private key (K) parameter. Note: This value is only applicable when using a NIST curve. | ||||||||||||||||||||||||
k String |
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. | ||||||||||||||||||||||||
rxB Data |
Represents the public key's Rx parameter. Note: This value is only applicable when using a NIST curve. | ||||||||||||||||||||||||
rx String |
Represents the public key's Rx parameter. Note: This value is only applicable when using a NIST curve. | ||||||||||||||||||||||||
ryB Data |
Represents the public key's Ry 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. | ||||||||||||||||||||||||
xPkB Data |
Holds the public key data. Note: This value is only applicable when using Curve25519 or Curve448. | ||||||||||||||||||||||||
xPk String |
Holds the public key data. Note: This value is only applicable when using Curve25519 or Curve448. | ||||||||||||||||||||||||
xSkB Data |
Holds the private 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. |
Constructors
public init()
The default constructor creates a new ECCKey instance but does not assign a public or private key.