2.5.1.2 CryptoAPI Digital Signature CertificateInfo Structure
The CertificateInfo structure has the format that is shown in the following diagram.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CertificateInfoSize |
|||||||||||||||||||||||||||||||
SignerLength |
|||||||||||||||||||||||||||||||
IssuerLength |
|||||||||||||||||||||||||||||||
ExpireTime |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
SignTime |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
AlgIDHash |
|||||||||||||||||||||||||||||||
SignatureSize |
|||||||||||||||||||||||||||||||
EncodedCertificateSize |
|||||||||||||||||||||||||||||||
Version |
|||||||||||||||||||||||||||||||
SerialNumberSize |
|||||||||||||||||||||||||||||||
IssuerBlobSize |
|||||||||||||||||||||||||||||||
Reserved |
|||||||||||||||||||||||||||||||
SignerName (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
IssuerName (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Signature (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
EncodedCertificate (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
SerialNumber (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
IssuerBlob (variable) |
|||||||||||||||||||||||||||||||
... |
CertificateInfoSize (4 bytes): An unsigned integer specifying the number of bytes used by the remainder of this structure, not including CertificateInfoSize.
SignerLength (4 bytes): An unsigned integer specifying the number of characters needed to store the SignerName field, not including the terminating null character.
IssuerLength (4 bytes): An unsigned integer specifying the number of characters needed to store the IssuerName field, not including the terminating null character.
ExpireTime (8 bytes): A TimeEncoding structure (section 2.5.1.1) specifying the expiration time of this signature.
SignTime (8 bytes): A TimeEncoding structure specifying the time this signature was created.
AlgIDHash (4 bytes): A signed integer specifying the algorithm identifier. It MUST be 0x00008003 (MD5).
SignatureSize (4 bytes): An unsigned integer specifying the number of bytes used by the Signature field.
EncodedCertificateSize (4 bytes): An unsigned integer specifying the number of bytes used by the EncodedCertificate field.
Version (4 bytes): A value that MUST be 0x00000000.
SerialNumberSize (4 bytes): An unsigned integer specifying the number of bytes used by the SerialNumber field.
IssuerBlobSize (4 bytes): An unsigned integer specifying the number of bytes used by the IssuerBlob field.
Reserved (4 bytes): A value that MUST be 0x00000000.
SignerName (variable): A null-terminated Unicode string specifying the name of the signer.
IssuerName (variable): A null-terminated Unicode string specifying the name of the issuer.
Signature (variable): A binary representation of the signature, generated as specified in [RFC3280], except stored in little-endian form.
EncodedCertificate (variable): An encoded representation of the certificate. MUST contain the ASN.1 [ITUX680-1994] DER encoding of an X.509 certificate. For more details, see [RFC3280].
SerialNumber (variable): An array of bytes specifying the serial number of the certificate as specified in [RFC3280], with the least significant byte first. Any leading 0x00 bytes MUST be truncated.
IssuerBlob (variable): An ASN.1 structure as specified in IETF [RFC3280] section 4.1.2.4.