Konstanten für CryptEncodeObject und CryptDecodeObject

Die Funktionen CryptEncodeObject, CryptEncodeObjectEx, CryptSignAndEncodeCertificate, CryptDecodeObject und CryptDecodeObjectEx sind generalisierte Codierungs- und Decodierungsfunktionen, die in der Lage sind, ASN.1-codierte Zertifikate ( Abstract Syntax Notation One ), Zertifikatsperrlisten (Certificate Revocation Lists , CRLs), Zertifikatvertrauenslisten (Certificate Trust Lists , CTLs) und Zertifikatanforderungen zu codieren und zu decodieren.

In der folgenden Tabelle sind die vordefinierten Konstanten, Erweiterungen und Attribute aufgeführt, die bei Codierungs- und Decodierungsvorgängen verwendet werden, sowie die Datenstruktur, auf die der parameter pvStructInfo verweist.

Hinweis

Einige vordefinierte Konstanten und OID-Zeichenfolgen haben dieselbe Bedeutung. Wenn dies der Fall ist, kann beide als lpszStuctType-Parameter verwendet werden.

 

Konstante/Wert Beschreibung
CMC_ADD_ATTRIBUTES
(LPCSTR) 63
Der parameter pvStructInfo ist ein Zeiger auf eine CMC_ADD_ATTRIBUTES_INFO-Struktur .
CMC_ADD_EXTENSIONS
(LPCSTR) 62
Der parameter pvStructInfo ist ein Zeiger auf eine CMC_ADD_EXTENSIONS_INFO-Struktur .
X509_ALGORITHM_IDENTIFIER
(LPCSTR) 74
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_ALGORITHM_IDENTIFIER-Struktur .
X509_ALTERNATE_NAME
(LPCSTR) 12
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
X509_ANY_STRING
X509_NAME_VALUE
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_VALUE-Struktur .
szOID_APPLICATION_CERT_POLICIES
"1.3.6.1.4.1.311.21.10"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_QUALIFIER_INFO-Struktur .
szOID_APPLICATION_POLICY_CONSTRAINTS
"1.3.6.1.4.1.311.21.12"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_CONSTRAINTS_INFO-Struktur .
szOID_APPLICATION_POLICY_MAPPINGS
"1.3.6.1.4.1.311.21.11"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_MAPPINGS_INFO-Struktur .
PKCS_ATTRIBUTE
(LPCSTR) 22
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_ATTRIBUTE-Struktur .
X509_AUTHORITY_INFO_ACCESS
(LPCSTR) 32
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_INFO_ACCESS-Struktur . Einzelheiten finden Sie unter "Hinweise".
szOID_AUTHORITY_INFO_ACCESS
"1.3.6.1.5.5.7.1.1"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_INFO_ACCESS-Struktur . Einzelheiten finden Sie unter "Hinweise".
X509_SUBJECT_INFO_ACCESS
X509_AUTHORITY_INFO_ACCESS
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_INFO_ACCESS-Struktur .
szOID_SUBJECT_INFO_ACCESS
"1.3.6.1.5.5.7.1.11"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_INFO_ACCESS-Struktur .
X509_AUTHORITY_KEY_ID
(LPCSTR) 9
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_KEY_ID_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
X509_AUTHORITY_KEY_ID2
(LPCSTR) 31
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_KEY_ID2_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
szOID_AUTHORITY_KEY_IDENTIFIER
"2.5.29.1"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_KEY_ID_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
szOID_AUTHORITY_KEY_IDENTIFIER2
"2.5.29.35"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_KEY_ID2_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
X509_BASIC_CONSTRAINTS
(LPCSTR) 13
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_BASIC_CONSTRAINTS_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
szOID_BASIC_CONSTRAINTS
"2.5.29.10"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_BASIC_CONSTRAINTS_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
X509_BASIC_CONSTRAINTS2
(LPCSTR) 15
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_BASIC_CONSTRAINTS2_INFO-Struktur .
szOID_BASIC_CONSTRAINTS2
"2.5.29.19"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_BASIC_CONSTRAINTS2_INFO-Struktur .
X509_BIOMETRIC_EXT
(LPCSTR) 71
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_BIOMETRIC_EXT_INFO-Struktur .
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
szOID_BIOMETRIC_EXT
"1.3.6.1.5.5.7.1.2"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_BIOMETRIC_EXT_INFO-Struktur .
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
X509_BITS
(LPCSTR) 26
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_BIT_BLOB-Struktur .
X509_CERT
(LPCSTR) 1
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_SIGNED_CONTENT_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
X509_CERT_CRL_TO_BE_SIGNED
(LPCSTR) 3
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRL_INFO-Struktur .
szOID_CERT_EXTENSIONS
"1.3.6.1.4.1.311.2.1.14"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_EXTENSIONS-Struktur .
X509_CERT_PAIR
(LPCSTR) 53
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_PAIR-Struktur .
X509_CERT_POLICIES
(LPCSTR) 16
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICIES_INFO-Struktur .
szOID_CERT_POLICIES
"2.5.29.32"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICIES_INFO-Struktur .
X509_CERT_REQUEST_TO_BE_SIGNED
(LPCSTR) 4
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_REQUEST_INFO-Struktur .
X509_CERT_TO_BE_SIGNED
(LPCSTR) 2
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_INFO-Struktur .
X509_CERTIFICATE_TEMPLATE
(LPCSTR) 64
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_TEMPLATE_EXT-Struktur .
szOID_CERTIFICATE_TEMPLATE
"1.3.6.1.4.1.311.21.7"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_TEMPLATE_EXT-Struktur .
X509_CHOICE_OF_TIME
(LPCSTR) 30
Der parameter pvStructInfo ist ein Zeiger auf eine FILETIME-Variable . Einzelheiten finden Sie unter "Hinweise".
PKCS_CONTENT_INFO
(LPCSTR) 33
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_CONTENT_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY
(LPCSTR) 23
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY-Struktur . Einzelheiten finden Sie unter "Hinweise".
X509_CRL_DIST_POINTS
(LPCSTR) 35
Der parameter pvStructInfo ist ein Zeiger auf eine CRL_DIST_POINTS_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
szOID_CRL_DIST_POINTS
2.5.29.31
Der parameter pvStructInfo ist ein Zeiger auf eine CRL_DIST_POINTS_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
szOID_CRL_NUMBER
"2.5.29.20"
Der parameter pvStructInfo ist ein Zeiger auf eine int-Variable .
X509_CRL_REASON_CODE
X509_ENUMERATED
Der parameter pvStructInfo ist ein Zeiger auf eine ganze Zahl, die den aufgezählten Wert enthält. Einzelheiten finden Sie unter "Hinweise".
szOID_CRL_REASON_CODE
"2.5.29.21"
Der parameter pvStructInfo ist ein Zeiger auf eine ganze Zahl, die den aufgezählten Wert enthält. Einzelheiten finden Sie unter "Hinweise".
szOID_CRL_VIRTUAL_BASE
"1.3.6.1.4.1.311.21.3"
Der parameter pvStructInfo ist ein Zeiger auf eine int-Variable .
X509_CROSS_CERT_DIST_POINTS
(LPCSTR) 58
Der pvStructInfo-Parameter ist ein Zeiger auf eine CROSS_CERT_DIST_POINTS_INFO-Struktur .
szOID_CROSS_CERT_DIST_POINTS
"1.3.6.1.4.1.311.10.9.1"
Der pvStructInfo-Parameter ist ein Zeiger auf eine CROSS_CERT_DIST_POINTS_INFO-Struktur .
RSA_CSP_PUBLICKEYBLOB
(LPCSTR) 19
Der parameter pvStructInfo ist ein Zeiger auf eine Diffie-Hellman Version 3 Public Key BLOBs - oder DSS Version 3 Public Key BLOBs-Struktur . Einzelheiten finden Sie unter "Hinweise".
PKCS_CTL
(LPCSTR) 37
Der parameter pvStructInfo ist ein Zeiger auf eine CTL_INFO-Struktur .
CMC_DATA
(LPCSTR) 59
Der parameter pvStructInfo ist ein Zeiger auf eine CMC_DATA_INFO-Struktur .
szOID_DELTA_CRL_INDICATOR
"2.5.29.27"
Der parameter pvStructInfo ist ein Zeiger auf eine int-Variable .
X509_DSS_PARAMETERS
(LPCSTR) 39
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_DSS_PARAMETERS-Struktur .
X509_DSS_PUBLICKEY
X509_MULTI_BYTE_UINT
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_UINT_BLOB-Struktur .
X509_DSS_SIGNATURE
(LPCSTR) 40
Der parameter pvStructInfo ist ein Zeiger auf ein Array mit 40 Bytes. Einzelheiten finden Sie unter "Hinweise".
szOID_ECC_PUBLIC_KEY
"1.2.840.10045.2.1"
Der pvStructInfo-Parameter ist ein Zeiger auf eine LPSTR der Punktdarstellung des Objektbezeichners.
X509_ECC_SIGNATURE
(LPCSTR) 47
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ECC_SIGNATURE-Struktur . Einzelheiten finden Sie unter "Hinweise".
X509_ECC_PRIVATE_KEY
(LPCSTR) 82
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_ECC_PRIVATE_KEY_INFO-Struktur.
Windows Server 2003, Windows XP, Windows 2000 und Windows Vista: Dieser Wert wird nicht unterstützt.
szOID_ECDSA_SPECIFIED
"1.2.840.10045.4.3"
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_ALGORITHM_IDENTIFIER Struktur.
X509_ENHANCED_KEY_USAGE
(LPCSTR) 36
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_ENHKEY_USAGE- oder CTL_USAGE-Struktur . (Diese Strukturen sind identisch, sind aber unter unterschiedlichen Namen bekannt.)
szOID_ENHANCED_KEY_USAGE
"2.5.29.37"
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_ENHKEY_USAGE- oder CTL_USAGE-Struktur . (Diese Strukturen sind identisch, sind aber unter unterschiedlichen Namen bekannt.)
szOID_ENROLLMENT_NAME_VALUE_PAIR
"1.3.6.1.4.1.311.13.2.1"
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_ENROLLMENT_NAME_VALUE_PAIR Struktur.
X509_ENUMERATED
(LPCSTR) 29
Der pvStructInfo-Parameter ist ein Zeiger auf eine ganze Zahl, die den aufgezählten Wert enthält. Einzelheiten finden Sie unter "Hinweise".
X509_EXTENSIONS
(LPCSTR) 5
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_EXTENSIONS-Struktur .
szOID_FRESHEST_CRL
"2.5.29.46"
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRL_DIST_POINTS_INFO Struktur.
X509_INTEGER
(LPCSTR) 27
Der pvStructInfo-Parameter ist ein Zeiger auf eine ganzzahlige Vorzeichen von 32 Bits oder weniger.
szOID_ISSUER_ALT_NAME
"2.5.29.8"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO Struktur. Einzelheiten finden Sie unter "Hinweise".
szOID_ISSUER_ALT_NAME2
"2.5.29.18"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO Struktur.
X509_ISSUING_DIST_POINT
(LPCSTR) 54
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRL_ISSUING_DIST_POINT Struktur.
szOID_ISSUING_DIST_POINT
"2.5.29.28"
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRL_ISSUING_DIST_POINT Struktur.
X509_KEY_ATTRIBUTES
(LPCSTR) 10
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_KEY_ATTRIBUTES_INFO-Struktur .
szOID_KEY_ATTRIBUTES
"2.5.29.2"
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_KEY_ATTRIBUTES_INFO-Struktur .
X509_KEY_USAGE
(LPCSTR) 14
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_BIT_BLOB Struktur. Einzelheiten finden Sie unter "Hinweise".
szOID_KEY_USAGE
"2.5.29.15"
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_BIT_BLOB Struktur. Einzelheiten finden Sie unter "Hinweise".
X509_KEY_USAGE_RESTRICTION
(LPCSTR) 11
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_KEY_USAGE_RESTRICTION_INFO Struktur.
szOID_KEY_USAGE_RESTRICTION
"2.5.29.4"
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_KEY_USAGE_RESTRICTION_INFO Struktur.
X509_KEYGEN_REQUEST_TO_BE_SIGNED
(LPCSTR) 21
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_KEYGEN_REQUEST_INFO Struktur. Einzelheiten finden Sie unter "Hinweise".
X509_LOGOTYPE_EXT
(LPCSTR) 70
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_LOGOTYPE_EXT_INFO Struktur.
szOID_LOGOTYPE_EXT
"1.3.6.1.5.5.7.1.12"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_LOGOTYPE_EXT_INFO Struktur.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
X509_MULTI_BYTE_INTEGER
(LPCSTR) 28
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_INTEGER_BLOB Struktur. Das BLOB befindet sich in little-endian-Reihenfolge .
X509_MULTI_BYTE_UINT
(LPCSTR) 38
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_UINT_BLOB Struktur. Einzelheiten finden Sie unter "Hinweise".
X509_NAME
(LPCSTR) 7
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
X509_NAME_CONSTRAINTS
(LPCSTR) 55
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_CONSTRAINTS_INFO Struktur.
szOID_NAME_CONSTRAINTS
"2.5.29.30"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_CONSTRAINTS_INFO Struktur.
X509_NAME_VALUE
(LPCSTR) 6
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_VALUE Struktur. Einzelheiten finden Sie unter "Hinweise".
szOID_NEXT_UPDATE_LOCATION
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO Struktur. Einzelheiten finden Sie unter "Hinweise".
X509_OBJECT_IDENTIFIER
(LPCSTR) 73
Der pvStructInfo-Parameter ist ein Zeiger auf eine LPSTR der Objektbezeichnerpunktdarstellung.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
X509_OCTET_STRING
(LPCSTR) 25
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_DATA_BLOB-Struktur . Einzelheiten finden Sie unter "Hinweise".
szOID_OIWSEC_dsa
"1.3.14.3.2.12"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_DSS_PARAMETERS-Struktur .
X509_POLICY_CONSTRAINTS
(LPCSTR) 57
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_CONSTRAINTS_INFO Struktur.
szOID_POLICY_CONSTRAINTS
"2.5.29.36"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_CONSTRAINTS_INFO Struktur.
X509_POLICY_MAPPINGS
(LPCSTR) 56
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_MAPPINGS_INFO-Struktur .
szOID_POLICY_MAPPINGS
"2.5.29.33"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_MAPPINGS_INFO-Struktur .
X509_PUBLIC_KEY_INFO
(LPCSTR) 8
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_PUBLIC_KEY_INFO Struktur.
PKCS_RC2_CBC_PARAMETERS
(LPCSTR) 41
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_RC2_CBC_PARAMETERS Struktur.
CMC_RESPONSE
(LPCSTR) 60
Der parameter pvStructInfo ist ein Zeiger auf eine CMC_RESPONSE_INFO-Struktur .
CNG_RSA_PUBLIC_KEY_BLOB
(LPCSTR) 72
Der pvStructInfo-Parameter ist ein Zeiger auf eine BCRYPT_RSAKEY_BLOB unmittelbar gefolgt vom Exponenten und den Modulbytes. Einzelheiten finden Sie unter "Hinweise".
CNG_RSA_PRIVATE_KEY_BLOB
LPCSTR) 83
Der pvStructInfo-Parameter ist ein Zeiger auf eine private BCRYPT_RSAKEY_BLOB-Struktur .
Windows Server 2003, Windows XP, Windows 2000 und Windows Vista: Dieser Wert wird nicht unterstützt.
szOID_RSA_signingTime
"1.2.840.113549.1.9.5"
Der parameter pvStructInfo ist ein Zeiger auf eine FILETIME-Variable . Einzelheiten finden Sie unter "Hinweise".
szOID_RSA_SMIMECapabilities
"1.2.840.113549.1.9.15"
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_SMIME_CAPABILITIES Struktur. Einzelheiten finden Sie unter "Hinweise".
PKCS_RSA_SSA_PSS_PARAMETERS
(LPCSTR) 75
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_RSA_SSA_PSS_PARAMETERS Struktur. Einzelheiten finden Sie unter "Hinweise".
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
szOID_RSA_SSA_PSS
"1.2.840.113549.1.1.10"
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_RSA_SSA_PSS_PARAMETERS Struktur. Einzelheiten finden Sie unter "Hinweise".
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
PKCS_RSAES_OAEP_PARAMETERS
(LPCSTR) 76
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_RSAES_OAEP_PARAMETERS-Struktur . Einzelheiten finden Sie unter "Hinweise".
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
ECC_CMS_SHARED_INFO
(LPCSTR) 77
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_ECC_CMS_SHARED_INFO-Struktur .
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
szOID_RSAES_OAEP
"1.2.840.113549.1.1.7"
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_RSAES_OAEP_PARAMETERS-Struktur . Einzelheiten finden Sie unter "Hinweise".
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
X509_SEQUENCE_OF_ANY
(LPCSTR) 34
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_SEQUENCE_OF_ANY-Struktur . Einzelheiten finden Sie unter "Hinweise".
PKCS7_SIGNER_INFO
(LPCSTR) 500
Der pvStructInfo-Parameter ist ein Zeiger auf eine CMSG_SIGNER_INFO Struktur.
CMS_SIGNER_INFO
(LPCSTR) 501
Der parameter pvStructInfo ist ein Zeiger auf eine CMSG_CMS_SIGNER_INFO Struktur.
PKCS_SMIME_CAPABILITIES
(LPCSTR) 42
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_SMIME_CAPABILITIES Struktur. Einzelheiten finden Sie unter "Hinweise".
CMC_STATUS
(LPCSTR) 61
Der parameter pvStructInfo ist ein Zeiger auf eine CMC_STATUS_INFO Struktur.
szOID_SUBJECT_ALT_NAME
"2.5.29.7"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO Struktur. Einzelheiten finden Sie unter "Hinweise".
szOID_SUBJECT_ALT_NAME2
"2.5.29.17"
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO Struktur.
szOID_SUBJECT_KEY_IDENTIFIER
"2.5.29.14"
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_DATA_BLOB-Struktur . Einzelheiten finden Sie unter "Hinweise".
PKCS_TIME_REQUEST
(LPCSTR) 18
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_TIME_STAMP_REQUEST_INFO Struktur.
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_VALUE Struktur. Einzelheiten finden Sie unter "Hinweise".
X509_UNICODE_NAME
(LPCSTR) 20
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise".
X509_UNICODE_NAME_VALUE
(LPCSTR) 24
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_VALUE Struktur. Einzelheiten finden Sie unter "Hinweise".
PKCS_UTC_TIME
(LPCSTR) 17
Der parameter pvStructInfo ist ein Zeiger auf eine FILETIME-Variable . Einzelheiten finden Sie unter "Hinweise".
OCSP_SIGNED_REQUEST
(LPCSTR) 65
Der parameter pvStructInfo ist ein Zeiger auf eine OCSP_SIGNED_REQUEST_INFO Variable.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
OCSP_REQUEST
(LPCSTR) 66
Der parameter pvStructInfo ist ein Zeiger auf eine OCSP_REQUEST_INFO Variable.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
OCSP_RESPONSE
(LPCSTR) 67
Der parameter pvStructInfo ist ein Zeiger auf eine OCSP_RESPONSE_INFO Variable.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
OCSP_BASIC_SIGNED_RESPONSE
(LPCSTR) 68
Der pvStructInfo-Parameter ist ein Zeiger auf eine OCSP_BASIC_SIGNED_RESPONSE_INFO Variable.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
OCSP_BASIC_RESPONSE
(LPCSTR) 69
Der parameter pvStructInfo ist ein Zeiger auf eine OCSP_BASIC_RESPONSE_INFO Variable.
Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.
PKCS_RSA_PRIVATE_KEY
(LPCSTR) 43
Der parameter pvStructInfo ist ein Zeiger auf ein BLOB mit privatem RSA-Schlüssel. Weitere Informationen finden Sie unter Diffie-Hellman Version 3 Private Key BLOBs und DSS Version 3 Private Key BLOBs.
PKCS_PRIVATE_KEY_INFO
(LPCSTR) 44
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_PRIVATE_KEY_INFO Struktur.
PKCS_ENCRYPTED_PRIVATE_KEY_INFO
(LPCSTR) 45
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_ENCRYPTED_PRIVATE_KEY_INFO Struktur.

Bemerkungen

Die folgende Tabelle enthält weitere Details zu bestimmten lpszStructType-Werten .

Wert Beschreibung
X509_ALTERNATE_NAMEszOID_ISSUER_ALT_NAME
szOID_SUBJECT_ALT_NAME
Vor der Codierung werden die LPWSTR-Namensauswahlen in IA5-Zeichenfolgen konvertiert. Wenn die Zeichenfolge eine ungültige IA5-Zeichenfolge enthält, gibt GetLastError CRYPT_E_INVALID_IA5_STRING zurück, und *pcbEncoded wird mit dem Fehlerspeicherort des ungültigen Zeichens aktualisiert. Fehlerspeicherortindizes werden in *pcbEncoded wie folgt zurückgegeben:
Bit 0 ist das am wenigsten signifikante Bit des DWORD.
Die VALUE_INDEX des Fehlers befindet sich in den Bits 0 bis 15. Dies ist der Unicode-Zeichenindex.
Die ENTRY_INDEX des Fehlers befindet sich in den Bits 16 bis 23.
Makros GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) und GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) werden definiert, um das einfache Lesen der Bitmapfelder für VALUE_INDEX und ENTRY_INDEX aus dem DWORD zu ermöglichen, das sie enthält:
Die szOID_SUBJECT_ALT_NAME wurde von szOID_SUBJECT_ALT_NAME2 abgelöst. Letztere werden von neuen Zertifikatservern implementiert.
X509_AUTHORITY_INFO_ACCESS szOID_AUTHORITY_INFO_ACCESS
szOID_AUTHORITY_KEY_IDENTIFIER2
X509_AUTHORITY_KEY_ID2
Wenn eine Codierenfunktion CRYPT_E_INVALID_IA5_STRING als GetLastError zurückgibt, besteht der in *pcbEncoded zurückgegebene Fehlerort aus: ENTRY_INDEX – 8 Bits << 16
VALUE_INDEX – 16 Bits (Unicode-Zeichenindex)
Fehlerspeicherortindizes werden in *pcbEncoded wie folgt zurückgegeben:
Bit 0 ist das am wenigsten signifikante Bit des DWORD.
Die VALUE_INDEX des Fehlers befindet sich in den Bits 0 bis 15. Dies ist der Unicode-Zeichenindex.
Die ENTRY_INDEX des Fehlers befindet sich in den Bits 16 bis 23.
Makros GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) und GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) werden definiert, um ein einfaches Lesen der Bitmapfelder für VALUE_INDEX und ENTRY_INDEX aus dem DWORD zu ermöglichen, das sie enthält.
X509_AUTHORITY_KEY_IDszOID_AUTHORITY_KEY_IDENTIFIER
Die X509_AUTHORITY_KEY_ID wurde von X509_AUTHORITY_KEY_ID2 abgelöst. Letztere werden von neuen Zertifikatservern implementiert.
X509_BASIC_CONSTRAINTSszOID_BASIC_CONSTRAINTS
Die X509_BASIC_CONSTRAINTS wurde durch X509_BASIC_CONSTRAINTS2 ersetzt. Letztere werden von neuen Zertifikatservern implementiert.
X509_CERT Die CERT_SIGNED_CONTENT_INFO-Struktur enthält den zu signierenden codierten Inhalt, die Signatur und den Signaturalgorithmus. Das ToBeSigned-Element ist ein codiertes CERT_INFO, CRL_INFO, CERT_REQUEST_INFO oder CERT_KEYGEN_REQUEST_INFO Ausgabe eines vorherigen Aufrufs von CryptEncodeObject für einen der folgenden lpszStructType-Werte :
  • X509_CERT_CRL_TO_BE_SIGNED
  • X509_CERT_REQUEST_TO_BE_SIGNED
  • X509_CERT_TO_BE_SIGNED
  • X509_KEYGEN_REQUEST_TO_BE_SIGNED
szOID_CERT_EXTENSIONS Kann für einen der Attributtypen in einer Zertifikatanforderung verwendet werden.
X509_CHOICE_OF_TIME Für X509_ASN_ENCODING, wenn die Zeit nach 1950 und vor 2050 liegt, ist die UTC-Zeit mit einem zweistelligen Jahr codiert. Andernfalls handelt es sich um eine generalisierte Zeit, die mit einem vierstelligen Jahr codiert ist. Das Datum ist genau auf Sekunden.
PKCS_CONTENT_INFO Für X509_ASN_ENCODING als PKCS #7 ContentInfo-Struktur codiert. Der CRYPT_DER_BLOB verweist auf den bereits codierten ANY-Inhalt.
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY Für X509_ASN_ENCODING als PKCS #7 ContentInfo-Struktur codiert, die eine Sequenz von ANY umschließt. Der Wert des contentType-Members ist pszObjId, während das Inhaltsfeld die folgende Struktur ist: SequenceOfAny ::= SEQUENCE OF ANY
Der CRYPT_DER_BLOB verweist auf den bereits codierten ANY-Inhalt.
X509_CRL_DIST_POINTSszOID_CRL_DIST_POINTS
Wenn die Codierungsfunktion fehlschlägt, wenn GetLastError CRYPT_E_INVALID_IA5_STRING zurückgibt, wird *pcbEncoded mit dem Fehlerspeicherort des ungültigen Zeichens aktualisiert: CRL_ISSUER_BIT – 1 Bit << 31 (0 für FullName, 1 für CRLIssuer)
POINT_INDEX – 7 Bits << 24
ENTRY_INDEX – 8 Bits << 16
VALUE_INDEX – 16 Bits (Unicode-Zeichenindex)
Fehlerpositionsindizes werden in *pcbEncoded wie folgt zurückgegeben:
Bit 0 ist das am wenigsten signifikante Bit des DWORD.
Die VALUE_INDEX des Fehlers befindet sich in den Bits 0 bis 15. Dies ist der Unicode-Zeichenindex.
Die ENTRY_INDEX des Fehlers befindet sich in den Bits 16 bis 23.
Makros GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) und GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) werden definiert, um das lesen der Bitmapfelder für VALUE_INDEX und ENTRY_INDEX aus dem DWORD zu ermöglichen, das sie enthält.
szOID_CRL_NUMBER Wird nur mit Zertifikatsperrlisten (Base Certificate Revocation Lists , CRLs) verwendet. Dies ist eine monoton steigende Sequenznummer für jede von einer Zertifizierungsstelle ausgestellte Zertifikatsliste.
X509_CRL_REASON_CODEszOID_CRL_REASON_CODE
X509_ENUMERATED
Die Ganze Zahl kann auf einen der folgenden aufgezählten Werte festgelegt werden.
Ursachencode: CRL_REASON_UNSPECIFIED
Wert: 0
Ursachencode: CRL_REASON_KEY_COMPROMISE
Wert: 1
Ursachencode: CRL_REASON_CA_COMPROMISE
Wert: 2
Ursachencode: CRL_REASON_AFFILIATION_CHANGED
Wert: 3
Ursachencode: CRL_REASON_SUPERSEDED
Wert: 4
Ursachencode: CRL_REASON_CESSATION_OF_OPERATION
Wert: 5
Ursachencode: CRL_REASON_CERTIFICATE_HOLD
Wert: 6
Ursachencode: CRL_REASON_REMOVE_FROM_CRL
Wert: 8
szOID_CRL_VIRTUAL_BASE Wird nur mit Delta-CRLs verwendet. Sie enthält die Basis-CRL-Nummer der entsprechenden Basis-Zertifikatsperrliste.
X509_CROSS_CERT_DIST_POINTSszOID_CROSS_CERT_DIST_POINTS
Für CRYPT_E_INVALID_IA5_STRING wird der Fehlerspeicherort in *pcbEncoded by CryptEncodeObject(X509_CRL_DIST_POINTS) Error location zurückgegeben:
  • POINT_INDEX – 8 Bits << 24
  • ENTRY_INDEX – 8 Bits << 16
  • VALUE_INDEX – 16 Bits (Unicode-Zeichenindex)
Weitere Informationen zu ENTRY_INDEX und VALUE_INDEX definierten Konstanten des Fehlerspeicherorts finden Sie unter X509_ALTERNATE_NAME.
RSA_CSP_PUBLICKEYBLOB Die CryptExportKey-Funktion gibt den obigen pvStructInfo-Wert für einen dwBlobType von PUBLICKEYBLOB aus. Die CryptImportKey-Funktion erwartet beim Importieren eines öffentlichen Schlüssels den obigen pvStructInfo-Wert . Wenn dwCertEncodingType X509_ASN_ENCODING ist, wird der RSA_CSP_PUBLICKEYBLOB als PKCS #1 RSAPublicKey codiert, der aus einer SEQUENCE eines Modulus INTEGER und einem publicExponent INTEGER besteht. Der Modulus wird als ganze Zahl ohne Vorzeichen codiert.
Für die Decodierungsfunktionen verweist pvStructInfo auf ein BLOB mit öffentlichem Schlüssel , unmittelbar gefolgt von einem RSAPUBKEY und den Modulusbytes. (Informationen zu Öffentlichen Schlüssel-BLOBs finden Sie unter CRYPT_INTEGER_BLOB.) Der CryptExportKey gibt den pvStructInfo-Wert für einen dwBlobType von PUBLICKEYBLOB aus. Die CryptImportKey-Funktion erwartet beim Importieren eines öffentlichen Schlüssels den PvStructInfo-Wert .
Wenn dwCertEncodingType X509_ASN_ENCODING ist, wird der RSA_CSP_PUBLICKEYBLOB als PKCS #1 RSAPublicKey codiert, der aus einer SEQUENCE eines Modulus INTEGER und einem publicExponent INTEGER besteht. Wenn der Modulus bei der Decodierung als ganze Zahl ohne Vorzeichen mit einem führenden 0 Byte codiert wurde, wird das 0 Byte entfernt, bevor in die CSP-Modulbytes konvertiert wird. Da DIE PKCS )-Struktur immer auf CALG_RSA_KEYX festgelegt ist.
szOID_DELTA_CRL_INDICATOR Wird nur mit Delta-CRLs verwendet. Diese ist als kritisch gekennzeichnet und enthält die minimale Basis-CRL-Nummer, die mit einer Delta-CRL verwendet werden kann.
X509_DSS_SIGNATURE Die Bytes werden als Ausgabe von CryptSignHash des DSS-CSP sortiert, wobei die unteren 20 Bytes der R-Wert und die höheren 20 Bytes der S-Wert sind. Die R- und S-Werte werden als ganze Zahlen ohne Vorzeichen behandelt und als Sequenz davon codiert.
X509_ECC_SIGNATURE Verwendet die gleiche Codierungs- und Decodierungsfunktion wie X509_DH_PARAMETERS. Die CERT_ECC_SIGNATURE-Struktur ist mit der CERT_DH_PARAMETERS-Struktur identisch, mit Ausnahme der Namen der Felder.
X509_ENUMERATED Wird beim Codieren beliebiger Enumerationen wie der X509_CRL_REASON_CODE verwendet.
szOID_FRESHEST_CRL Wird nur mit Basis-ZERTIFIKATsperrlisten verwendet. Dieses Format ist identisch mit einer CDP-Erweiterung, die URLs zum Abrufen der Delta-CRL enthält.
X509_ISSUING_DIST_POINTszOID_ISSUING_DIST_POINT
Für CRYPT_E_INVALID_IA5_STRING wird der Fehlerspeicherort in *pcbEncoded by CryptEncodeObject(X509_ISSUING_DIST_POINT) Error location zurückgegeben:
  • ENTRY_INDEX – 8 Bits << 16
  • VALUE_INDEX – 16 Bits (Unicode-Zeichenindex)
Weitere Informationen zu ENTRY_INDEX und VALUE_INDEX definierten Konstanten des Fehlerspeicherorts finden Sie unter X509_ALTERNATE_NAME.
X509_KEY_USAGEszOID_KEY_USAGE
Es werden die Bitdefinitionen verwendet, die für den IntendedKeyUsage-Member der CERT_KEY_ATTRIBUTES_INFO-Struktur verwendet werden.
X509_KEYGEN_REQUEST_TO_BE_SIGNED Für die Decodierungsfunktionen ist der pbEncoded-Member die Ausgabe einer der Codierungsfunktionen mit dem X509_CERT lpszStructType. Diese Ausgabe enthält die Zu signierenden Daten sowie die zugehörige Signatur. Für die Codierungsfunktionen ist der pbEncoded-Member nur die Daten, die signiert werden sollen.
X509_MULTI_BYTE_UINT Vor der Codierung wird eine führende 0x00 eingefügt. Nach der Decodierung wird die führende 0x00 entfernt.
X509_NAME Wird zum Decodieren/Codieren der Member Issuer und Subject in einer CERT_INFO-Struktur verwendet.
X509_NAME_CONSTRAINTSszOID_NAME_CONSTRAINTS
Für CRYPT_E_INVALID_IA5_STRING wird der Fehlerspeicherort in *pcbEncoded by CryptEncodeObject(X509_NAME_CONSTRAINTS) Error location zurückgegeben:
  • EXCLUDED_SUBTREE_BIT – 1 Bit << 31(0 für zulässig, 1 für ausgeschlossen)
  • ENTRY_INDEX – 8 Bits << 16
  • VALUE_INDEX – 16 Bits (Unicode-Zeichenindex)
Weitere Informationen zu ENTRY_INDEX und VALUE_INDEX definierten Konstanten des Fehlerspeicherorts finden Sie unter X509_ALTERNATE_NAME.
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
Für die Codierungsfunktionen zeigt der pbData-Member der -Struktur auf die Unicode-Zeichenfolge. Wenn das cbData-Element null ist, hat die Unicode-Zeichenfolge ein endendes NULL-Zeichen . andernfalls ist cbData die Byteanzahl der Unicode-Zeichenfolgen. Die Byteanzahl ist doppelt so viele Zeichen. Wenn die Unicode-Zeichenfolge ein Zeichen enthält, das für den angegebenen dwValueType ungültig ist, wird *pcbEncoded mit dem Unicode-Zeichenindex des ersten ungültigen Zeichens aktualisiert. GetLastError gibt Folgendes zurück:
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
Die Unicode-Zeichenfolge wird konvertiert, bevor sie gemäß dem angegebenen dwValueType codiert wird. Wenn dwValueType auf 0 festgelegt ist, gibt GetLastError E_INVALIDARG zurück.
Wenn dwValueType keine Zeichenfolge angibt, gibt CryptEncodeObjectFALSE zurück, wobei GetLastError CRYPT_E_NOT_CHAR_STRING zurückgibt.
Für die Decodierungsfunktionen zeigt das pbData-Element auf eine mit NULL endende Unicode-Zeichenfolge, und das cbData-Element enthält die Byteanzahl der Unicode-Zeichenfolge, wobei das abschließende NULL-Zeichen ausgeschlossen wird. dwValueType enthält den Typ, der zum Codieren des Objekts verwendet wird. Sie ist nicht gezwungen, CERT_RDN_UNICODE_STRING. Der codierte Wert wird gemäß dwValueType in die Unicode-Zeichenfolge konvertiert.
Wenn das codierte Objekt keiner der Zeichenfolgentypen ist, gibt die Decodierungsfunktion FALSE zurück, wobei GetLastError CRYPT_E_NOT_CHAR_STRING zurückgibt.
Decodieren Sie Zeichenfolgen ohne Zeichen, indem Sie einen lpszStructType von X509_ANY_STRING verwenden.
szOID_NEXT_UPDATE_LOCATION Wird mit Zertifikatvertrauenslisten (Certificate Trust Lists , CTLs) verwendet, um den Speicherort für die neueste, zeit gültige CTL abzurufen. In der Regel wird im CERT_ALT_NAME_INFO eine URL verwendet, die den Speicherort angibt.
X509_OCTET_STRING Die -Struktur enthält eine Sequenz von Bytes. Es wird mit einigen Verschlüsselungsalgorithmen verwendet, die einen Initialisierungsvektor in Form einer Oktettzeichenfolge erfordern.
CNG_RSA_PUBLIC_KEY_BLOB Die entsprechende pvStructInfo zeigt auf eine BCRYPT_RSAKEY_BLOB unmittelbar gefolgt vom Exponenten und den Modulusbytes. Sowohl der Exponent als auch der Modulus sind im Big-Endian-Format. Die Felder für den privaten Schlüssel, die aus cbPrime1 und cbPrime2 bestehen, sind auf 0 (null) festgelegt.
Wenn der dwCertEncodingType-Parametergleich X509_ASN_ENCODING ist, wird der CNG_RSA_PUBLIC_KEY_BLOB als öffentlicher PKCS #1-RSA-Schlüssel codiert, der aus einer Sequenz aus einem Modulus und einem publicExponent besteht.
PKCS_RSA_SSA_PSS_PARAMETERSszOID_RSA_SSA_PSS
Verwenden Sie für die Codierung die folgenden Standardwerte, wenn die CRYPT_RSA_SSA_PSS_PARAMETERS-Strukturfelder auf NULL oder Null festgelegt sind.
Feld: HashAlgorithm.pszObjId
Standard: szOID_OIWSEC_sha1
Feld: MaskGenAlgorithm.pszObjId
Standard: szOID_RSA_MGF1
Feld: MaskGenAlgorithm.HashAlgorithm.pszObjId
Standard: HashAlgorithm.pszObjId
Feld: dwSaltLength
Standard: cbHash
Feld: dwTrailerField
Standard: PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC
Für die Codierung muss nur das Feld HashAlgorithm.pszObjId festgelegt werden. Für die Decodierung werden alle Felder explizit festgelegt.
PKCS_RSAES_OAEP_PARAMETERSszOID_RSAES_OAEP
Verwenden Sie für die Codierung die folgenden Standardwerte, wenn die CRYPT_RSAES_OAEP_PARAMETERS Strukturfelder auf NULL oder 0 festgelegt sind.
Feld: HashAlgorithm.pszObjId
Standard: szOID_OIWSEC_sha1
Feld: MaskGenAlgorithm.pszObjId
Standard: szOID_RSA_MGF1
Feld: MaskGenAlgorithm.HashAlgorithm.pszObjId
Standard: HashAlgorithm.pszObjId
Feld: PSourceAlgorithm.pszObjId
Standard: szOID_RSA_PSPECIFIED
Feld: PSourceAlgorithm.EncodingParameters.cbData
Standardwert: 0
Feld: PSourceAlgorithm.EncodingParameters.pbData
Standard: NULL
Für die Codierung muss nur das Feld HashAlgorithm.pszObjId festgelegt werden. Für die Decodierung werden alle Felder explizit festgelegt.
X509_SEQUENCE_OF_ANY Die CRYPT_DER_BLOBverweisen auf den bereits codierten ANY-Inhalt.
PKCS_SMIME_CAPABILITIESszOID_RSA_SMIMECapabilities
Diese lpszStructType-Werte funktionieren bei Codierungsfunktionen unterschiedlich. Aufgrund der S/MIME-Spezifikationen ( Secure/Multipurpose Internet Mail Extensions ) werden die codierten Parameter weggelassen und nicht als NULL (05 00) codiert.
szOID_SUBJECT_KEY_IDENTIFIER Die CRYPT_INTEGER_BLOB-Struktur enthält eine Oktettzeichenfolge, eine beliebige Bytesequenz.
X509_UNICODE_NAME Bei Decodierungsfunktionen sind die relativen Attributwerte für distinguished name (RDN) Unicode-Zeichenfolgen mit Ausnahme der dwValueTypes von CERT_RDN_ENCODED_BLOB oder CERT_RDN_OCTET_STRING. Diese dwValueType-Wertesind identisch mit denen für eine X509_NAME. Diese Werte werden nicht in Unicode konvertiert. Der pbData-Member des RDN-Attributwerts verweist auf eine unicode-Zeichenfolge, die null beendet wurde. Der cbData-Member des RDN-Attributwerts enthält die Byteanzahl der Unicode-Zeichenfolge mit Ausnahme des abschließenden NULL-Zeichens . Der dwValueType-Member des RDN-Attributwerts enthält den typ, der im codierten Objekt verwendet wird. Sie ist nicht gezwungen, CERT_RDN_UNICODE_STRING. Der codierte Wert wird gemäß dwValueType in die Unicode-Zeichenfolge konvertiert.
Für die Codierungsfunktionen sind die RDN-Attributwerte Unicode-Zeichenfolgen mit Ausnahme der dwValueTypes von CERT_RDN_ENCODED_BLOB oder CERT_RDN_OCTET_STRING. Diese dwValueType-Wertesind identisch mit denen für eine X509_NAME. Es wird nicht erwartet, dass diese Werte Unicode sind.
Für die restlichen Zeichenfolgen dwValueTypes zeigt der pbData-Member des Attributwerts für den relativen distinguished name (RDN) auf die Unicode-Zeichenfolge. Wenn der cbData-Member des RDN-Attributwerts null ist, weist die Unicode-Zeichenfolge ein endendes NULL-Zeichen auf. Andernfalls entspricht der cbData-Member des RDN-Attributwerts der Byteanzahl der Unicode-Zeichenfolge. Die Byteanzahl ist doppelt so viele Zeichen wie die Zeichenanzahl, und sie schließt das abschließende NULL-Zeichen aus.
Wenn der dwValueType-Member des RDN-Attributwerts CERT_RDN_ANY_TYPE ist, wird die pszObjId verwendet, um einen zulässigen dwValueType zu finden. Wenn die Unicode-Zeichenfolge ein Zeichen enthält, das für den gefundenen oder angegebenen dwValueType ungültig ist, wird *pcbEncoded mit der Fehlerposition des ungültigen Zeichens aktualisiert. Für ein ungültiges Zeichen gibt GetLastError Folgendes zurück:
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
Die Unicode-Zeichenfolge wird konvertiert, bevor sie gemäß dem angegebenen dwValueType oder dwValueType des Objektbezeichners codiert wird.
Die Fehlerpositionsindizes der Codierenfunktionen werden in *pcbEncoded wie folgt zurückgegeben:
Die VALUE_INDEX des Fehlers befindet sich in den Bits 0 bis 15.
Die ATTR_INDEX des Fehlers befindet sich in den Bits 16 bis 21.
Die RDN_INDEX des Fehlers befindet sich in den Bits 22 bis 31.
Bit 0 ist das am wenigsten signifikante Bit des DWORD.
Die definierten Makros GET_CERT_UNICODE_RDN_ERR_INDEX(X), GET_CERT_UNICODE_ATTR_ERR_INDEX(X) und GET_CERT_UNICODE_VALUE_ERR_INDEX(X) ermöglichen ein einfaches Lesen der Bitmapfelder für VALUE_INDEX, ATTR_INDEX und RDN_INDEX aus dem DWORD , das sie enthält.
PKCS_UTC_TIMEszOID_RSA_signingTime
Für X509_ASN_ENCODING wird die UTC-Zeit in Sekunden codiert und ein zweistelliges Jahr verwendet.

 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003 [Desktop-Apps | UWP-Apps]
Header
Wincrypt.h

Siehe auch

CRYPT_INTEGER_BLOB