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 |
---|---|
|
Der parameter pvStructInfo ist ein Zeiger auf eine CMC_ADD_ATTRIBUTES_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CMC_ADD_EXTENSIONS_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_ALGORITHM_IDENTIFIER-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_VALUE-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_QUALIFIER_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_CONSTRAINTS_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_MAPPINGS_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_ATTRIBUTE-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_INFO_ACCESS-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_INFO_ACCESS-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_INFO_ACCESS-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_INFO_ACCESS-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_KEY_ID_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_KEY_ID2_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_KEY_ID_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_AUTHORITY_KEY_ID2_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_BASIC_CONSTRAINTS_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_BASIC_CONSTRAINTS_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_BASIC_CONSTRAINTS2_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_BASIC_CONSTRAINTS2_INFO-Struktur . |
|
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. |
|
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. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_BIT_BLOB-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_SIGNED_CONTENT_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRL_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_EXTENSIONS-Struktur . |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_PAIR-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICIES_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICIES_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_REQUEST_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_TEMPLATE_EXT-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_TEMPLATE_EXT-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine FILETIME-Variable . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_CONTENT_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRL_DIST_POINTS_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRL_DIST_POINTS_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine int-Variable . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine ganze Zahl, die den aufgezählten Wert enthält. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine ganze Zahl, die den aufgezählten Wert enthält. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine int-Variable . |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CROSS_CERT_DIST_POINTS_INFO-Struktur . |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CROSS_CERT_DIST_POINTS_INFO-Struktur . |
|
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". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CTL_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CMC_DATA_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine int-Variable . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_DSS_PARAMETERS-Struktur . |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_UINT_BLOB-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf ein Array mit 40 Bytes. Einzelheiten finden Sie unter "Hinweise". |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine LPSTR der Punktdarstellung des Objektbezeichners. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ECC_SIGNATURE-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
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. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_ALGORITHM_IDENTIFIER Struktur. |
|
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.) |
|
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.) |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_ENROLLMENT_NAME_VALUE_PAIR Struktur. |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine ganze Zahl, die den aufgezählten Wert enthält. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_EXTENSIONS-Struktur . |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRL_DIST_POINTS_INFO Struktur. |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine ganzzahlige Vorzeichen von 32 Bits oder weniger. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO Struktur. |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRL_ISSUING_DIST_POINT Struktur. |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRL_ISSUING_DIST_POINT Struktur. |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_KEY_ATTRIBUTES_INFO-Struktur . |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_KEY_ATTRIBUTES_INFO-Struktur . |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_BIT_BLOB Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_BIT_BLOB Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_KEY_USAGE_RESTRICTION_INFO Struktur. |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CERT_KEY_USAGE_RESTRICTION_INFO Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_KEYGEN_REQUEST_INFO Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_LOGOTYPE_EXT_INFO Struktur. |
|
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. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_INTEGER_BLOB Struktur. Das BLOB befindet sich in little-endian-Reihenfolge . |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_UINT_BLOB Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_CONSTRAINTS_INFO Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_CONSTRAINTS_INFO Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_VALUE Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine LPSTR der Objektbezeichnerpunktdarstellung. Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_DATA_BLOB-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_DSS_PARAMETERS-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_CONSTRAINTS_INFO Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_CONSTRAINTS_INFO Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_MAPPINGS_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_POLICY_MAPPINGS_INFO-Struktur . |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_PUBLIC_KEY_INFO Struktur. |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_RC2_CBC_PARAMETERS Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CMC_RESPONSE_INFO-Struktur . |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine BCRYPT_RSAKEY_BLOB unmittelbar gefolgt vom Exponenten und den Modulbytes. Einzelheiten finden Sie unter "Hinweise". |
|
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. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine FILETIME-Variable . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_SMIME_CAPABILITIES Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_SEQUENCE_OF_ANY-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CMSG_SIGNER_INFO Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CMSG_CMS_SIGNER_INFO Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_SMIME_CAPABILITIES Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CMC_STATUS_INFO Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_ALT_NAME_INFO Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CRYPT_DATA_BLOB-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_TIME_STAMP_REQUEST_INFO Struktur. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_VALUE Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_INFO-Struktur . Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine CERT_NAME_VALUE Struktur. Einzelheiten finden Sie unter "Hinweise". |
|
Der parameter pvStructInfo ist ein Zeiger auf eine FILETIME-Variable . Einzelheiten finden Sie unter "Hinweise". |
|
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. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine OCSP_REQUEST_INFO Variable. Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt. |
|
Der parameter pvStructInfo ist ein Zeiger auf eine OCSP_RESPONSE_INFO Variable. Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt. |
|
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. |
|
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. |
|
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. |
|
Der pvStructInfo-Parameter ist ein Zeiger auf eine CRYPT_PRIVATE_KEY_INFO Struktur. |
|
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 :
|
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.
|
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:
|
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:
|
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:
|
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.
|
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.
|
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 |
|
Siehe auch