Following is the table of elements in the Elliptic Curve Diffie-Hellman (ECDH) private key BLOB that MUST be passed to the CA.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Magic |
|||||||||||||||||||||||||||||||
|
Length |
|||||||||||||||||||||||||||||||
|
XParam (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
YParam (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
PrivateExp (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
Magic (4 bytes): The length of this field MUST be 4 bytes.
This field MUST be an unsigned integer in little-endian format.
Value MUST specify the type of key that this BLOB represents. The possible values for this member MUST be one of the following.
|
Value |
Meaning |
|---|---|
|
0x314B4345 |
The key is a 256-bit ECDH public key. |
|
0x324B4345 |
The key is a 256-bit ECDH private key. |
|
0x334B4345 |
The key is a 384-bit ECDH public key. |
|
0x344B4345 |
The key is a 384-bit ECDH private key. |
|
0x354B4345 |
The key is a 521-bit ECDH public key. |
|
0x364B4345 |
The key is a 521-bit ECDH private key. |
Length (4 bytes): The length of this field MUST be 4 bytes.
This field MUST be an unsigned integer in little-endian format.
Value MUST be the length, in bytes, of the ECDH key.
XParam (variable): The length of this field MUST be equal to the Length field value.
This field MUST be bytes in little-endian format.
Value MUST be the elliptical curve X parameter.
YParam (variable): The length of this field MUST be equal to the Length field value.
This field MUST be bytes in little-endian format.
Value MUST be the elliptical curve Y parameter.
PrivateExp (variable): The length of this field MUST be equal to the Length field value.
This field MUST be bytes in little-endian format.
Value MUST be the elliptical curve private exponent.