2.5.1.3 CryptoAPI Digital Signature Structure

A CryptoAPI digital signature structure MUST contain exactly one IntermediateCertificatesStore and MUST contain at least one CryptoAPI Digital Signature CertificateInfo structure (section 2.5.1.2).


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

CertificateSize

IntermediateCertificatesStore (variable)

...

Reserved

CertificateInfoArray (variable)

...

EndMarker

CertificateSize (4 bytes): An unsigned integer specifying the number of bytes in the IntermediateCertificatesStore field.

IntermediateCertificatesStore (variable): A binary representation of the certificates in the certificate chains of the certificates used to sign the document, excluding the self-signed root CA certificates and end-entity certificates. This store is generated as specified in [MS-OSHARED] section 2.3.9.1.

Reserved (4 bytes): A value that MUST be 0x00000000.

CertificateInfoArray (variable): An array that MUST contain a single CertificateInfo structure for every signature included in this stream (1).

EndMarker (4 bytes): A value that MUST be 0x00000000.