2.2.2.9.3 ECDH Private Key BLOB

Following is the table of elements in the Elliptic Curve Diffie-Hellman (ECDH) private key BLOB that MUST be passed to the CA.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

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.