2.2.2.3 PUBLIC_KEY Message

The Data field of a PSRP message specifies a PUBLIC_KEY message when the MessageType field has a value of 0x00010005.

In messages of this type, the Data field is UTF-8 encoded XML, equivalent to the XML created by serializing a Complex Object (section 2.2.5.2) with the following extended properties (see section 2.2.5.2.9).

  • 2048-bit public key of a RSA public key pair [PKCS1] as represented in this section, encoded in base64 format.


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

0x06

0x02

0x00

0x00

0x00

0xA4

0x00

0x00

0x52

0x53

0x41

0x31

0x00

0x08

0x00

0x00

Public Exponent

Modulus

...

...

...

...

...

...

...

(Modulus cont'd for 56 rows)

Public Exponent (4 bytes): A 32-bit unsigned number in little-endian format specifying the public exponent of the key pair, referred to as e in [RFC3447] section 2.

Modulus (256 bytes): The RSA modulus, referred to as n in [RFC3447] section 2. The modulus MUST be encoded in little-endian format.

  • Property name: PublicKey.

  • Property type: String (see section 2.2.5.1.1).

The Complex Object described in this section SHOULD have no associated type names (section 2.2.5.2.3).

Example:

 <Obj RefId="0">
   <MS>
     <S N="PublicKey">
 BgIAAACkAABSU0ExAAgAAAEAAQBxLtiI7U4s5gkx4zzFaRyhCgTwSYWBdxx6MfjJMXcuLewnq7RvIo6yfgcN2s8FXrelHs8y34S0fdvM/fbSXjaacKOQoLVvOgyVf1x7EODpDADW2Tj9RIz52hcsVzNFfkfT4EhMvcJbDIqtEwIF6BmjHc5yNPsywTFD6QU50BIySeV7IT3qhjxihQEbMt/shf0DcFX07JIs37FPPZpesaviyG3RZjhQbfCbJ66vlea+1ocVYgqM7W98ZIeHlRT2XhrPSD+hwriUcfG3oOJIILpo2acpAxcz8KCEOkpocH4wA/IgF+9UcaeanOkBXqK3xc9LPtVuQ7otZYa+zvrTZXe4 
     </S>
   </MS>
 </Obj>