2.2.1 MQDSPUBLICKEY

The MQDSPUBLICKEY structure defines a public key certificate.


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

ulKeyLen

ulProviderLen

ulProviderType

sProviderName (variable)

...

aBuf (variable)

...

ulKeyLen (4 bytes): An unsigned 32-bit integer that MUST contain the size, in bytes, of the data in the aBuf field.

ulProviderLen (4 bytes): An unsigned 32-bit integer that MUST contain the size, in bytes, of the provider name, including the terminating null character.

ulProviderType (4 bytes): An unsigned 32-bit integer that MUST contain an enumerated constant for the provider-type code. The value MUST be either PROV_RSA_FULL (0x00000001) or PROV_RSA_AES (0x00000018), indicating which provider was used to generate the public key certificate stored in the aBuf field.

sProviderName (variable): A null-terminated Unicode string that contains the provider name.

aBuf (variable): A buffer that MUST contain a BLOBHEADER ([MS-MQDS] section 2.2.19) structure, with the aiKeyAlg field set to CALG_RSA_KEYX (0x0000a400), followed by the public key certificate formatted as an RSAPUBKEY ([MS-MQDS] section 2.2.18) structure.