X509_CRL_DIST_POINTS

When X509_CRL_DIST_POINTS or szOID_CRL_DIST_POINTS are used for the lpszStructType with CryptEncodeObject, CryptEncodeObjectEx, CryptDecodeObject, or CryptDecodeObjectEx the following details apply.

Object Identifier String

"2.5.29.31"

Corresponding Data Structure being encoded or decoded

pvStructInfo points to a CRL_DIST_POINTS_INFO structure.

Additional Details

For CRYPT_E_INVALID_IA5_STRING, the error location is returned in *pcbEncoded by CryptEncodeObject or CryptEncodeObjectEx (X509_CRL_DIST_POINTS).

Error location consists of:

CRL_ISSUER_BIT - 1 bit << 31 (0 for FullName, 1 for CRLIssuer)
POINT_INDEX - 7 bits << 24
ENTRY_INDEX - 8 bits << 16
VALUE_INDEX - 16 bits (unicode character index)

See X509_ALTERNATE_NAME for ENTRY_INDEX and VALUE_INDEX error location defines.