Share via


CryptEncodeObject および CryptDecodeObject の定数

CryptEncodeObjectCryptEncodeObjectExCryptSignAndEncodeCertificateCryptDecodeObjectおよび CryptDecodeObjectEx 関数は、抽象構文表記 1 (ASN.1) でエンコードされた証明書、証明書失効リスト (CRL)、証明書信頼リスト (CCTL)、および証明書要求をエンコードおよびデコードできる一般化されたエンコードおよびデコード関数です。

次の表に、エンコードおよびデコード操作で使用される定義済みの定数、拡張機能、および属性と、 pvStructInfo パラメーターが指すデータ構造を示します。

注意

定義済みの定数と OID 文字列の中には、同じ意味を持つものもあります。 その場合は、 lpszStuctType パラメーターとしてどちらかを使用できます。

 

定数/値 説明
CMC_ADD_ATTRIBUTES
(LPCSTR) 63
pvStructInfo パラメーターは、CMC_ADD_ATTRIBUTES_INFO構造体へのポインターです。
CMC_ADD_EXTENSIONS
(LPCSTR) 62
pvStructInfo パラメーターは、CMC_ADD_EXTENSIONS_INFO構造体へのポインターです。
X509_ALGORITHM_IDENTIFIER
(LPCSTR) 74
pvStructInfo パラメーターは、CRYPT_ALGORITHM_IDENTIFIER構造体へのポインターです。
X509_ALTERNATE_NAME
(LPCSTR) 12
pvStructInfo パラメーターは、CERT_ALT_NAME_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_ANY_STRING
X509_NAME_VALUE
pvStructInfo パラメーターは、CERT_NAME_VALUE構造体へのポインターです。
szOID_APPLICATION_CERT_POLICIES
"1.3.6.1.4.1.311.21.10"
pvStructInfo パラメーターは、CERT_POLICY_QUALIFIER_INFO構造体へのポインターです。
szOID_APPLICATION_POLICY_CONSTRAINTS
"1.3.6.1.4.1.311.21.12"
pvStructInfo パラメーターは、CERT_POLICY_CONSTRAINTS_INFO構造体へのポインターです。
szOID_APPLICATION_POLICY_MAPPINGS
"1.3.6.1.4.1.311.21.11"
pvStructInfo パラメーターは、CERT_POLICY_MAPPINGS_INFO構造体へのポインターです。
PKCS_ATTRIBUTE
(LPCSTR) 22
pvStructInfo パラメーターは、CRYPT_ATTRIBUTE構造体へのポインターです。
X509_AUTHORITY_INFO_ACCESS
(LPCSTR) 32
pvStructInfo パラメーターは、CERT_AUTHORITY_INFO_ACCESS構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_AUTHORITY_INFO_ACCESS
"1.3.6.1.5.5.7.1.1"
pvStructInfo パラメーターは、CERT_AUTHORITY_INFO_ACCESS構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_SUBJECT_INFO_ACCESS
X509_AUTHORITY_INFO_ACCESS
pvStructInfo パラメーターは、CERT_AUTHORITY_INFO_ACCESS構造体へのポインターです。
szOID_SUBJECT_INFO_ACCESS
"1.3.6.1.5.5.7.1.11"
pvStructInfo パラメーターは、CERT_AUTHORITY_INFO_ACCESS構造体へのポインターです。
X509_AUTHORITY_KEY_ID
(LPCSTR) 9
pvStructInfo パラメーターは、CERT_AUTHORITY_KEY_ID_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_AUTHORITY_KEY_ID2
(LPCSTR) 31
pvStructInfo パラメーターは、CERT_AUTHORITY_KEY_ID2_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_AUTHORITY_KEY_IDENTIFIER
"2.5.29.1"
pvStructInfo パラメーターは、CERT_AUTHORITY_KEY_ID_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_AUTHORITY_KEY_IDENTIFIER2
"2.5.29.35"
pvStructInfo パラメーターは、CERT_AUTHORITY_KEY_ID2_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_BASIC_CONSTRAINTS
(LPCSTR) 13
pvStructInfo パラメーターは、CERT_BASIC_CONSTRAINTS_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_BASIC_CONSTRAINTS
"2.5.29.10"
pvStructInfo パラメーターは、CERT_BASIC_CONSTRAINTS_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_BASIC_CONSTRAINTS2
(LPCSTR) 15
pvStructInfo パラメーターは、CERT_BASIC_CONSTRAINTS2_INFO構造体へのポインターです。
szOID_BASIC_CONSTRAINTS2
"2.5.29.19"
pvStructInfo パラメーターは、CERT_BASIC_CONSTRAINTS2_INFO構造体へのポインターです。
X509_BIOMETRIC_EXT
(LPCSTR) 71
pvStructInfo パラメーターは、CERT_BIOMETRIC_EXT_INFO構造体へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。
szOID_BIOMETRIC_EXT
"1.3.6.1.5.5.7.1.2"
pvStructInfo パラメーターは、CERT_BIOMETRIC_EXT_INFO構造体へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。
X509_BITS
(LPCSTR) 26
pvStructInfo パラメーターは、CRYPT_BIT_BLOB構造体へのポインターです。
X509_CERT
(LPCSTR) 1
pvStructInfo パラメーターは、CERT_SIGNED_CONTENT_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_CERT_CRL_TO_BE_SIGNED
(LPCSTR) 3
pvStructInfo パラメーターは、CRL_INFO構造体へのポインターです。
szOID_CERT_EXTENSIONS
"1.3.6.1.4.1.311.2.1.14"
pvStructInfo パラメーターは、CERT_EXTENSIONS構造体へのポインターです。
X509_CERT_PAIR
(LPCSTR) 53
pvStructInfo パラメーターは、CERT_PAIR構造体へのポインターです。
X509_CERT_POLICIES
(LPCSTR) 16
pvStructInfo パラメーターは、CERT_POLICIES_INFO構造体へのポインターです。
szOID_CERT_POLICIES
"2.5.29.32"
pvStructInfo パラメーターは、CERT_POLICIES_INFO構造体へのポインターです。
X509_CERT_REQUEST_TO_BE_SIGNED
(LPCSTR) 4
pvStructInfo パラメーターは、CERT_REQUEST_INFO構造体へのポインターです。
X509_CERT_TO_BE_SIGNED
(LPCSTR) 2
pvStructInfo パラメーターは、CERT_INFO構造体へのポインターです。
X509_CERTIFICATE_TEMPLATE
(LPCSTR) 64
pvStructInfo パラメーターは、CERT_TEMPLATE_EXT構造体へのポインターです。
szOID_CERTIFICATE_TEMPLATE
"1.3.6.1.4.1.311.21.7"
pvStructInfo パラメーターは、CERT_TEMPLATE_EXT構造体へのポインターです。
X509_CHOICE_OF_TIME
(LPCSTR) 30
pvStructInfo パラメーターは、FILETIME 変数へのポインターです。 詳細については、「解説」を参照してください。
PKCS_CONTENT_INFO
(LPCSTR) 33
pvStructInfo パラメーターは、CRYPT_CONTENT_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY
(LPCSTR) 23
pvStructInfo パラメーターは、CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_CRL_DIST_POINTS
(LPCSTR) 35
pvStructInfo パラメーターは、CRL_DIST_POINTS_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_CRL_DIST_POINTS
2.5.29.31
pvStructInfo パラメーターは、CRL_DIST_POINTS_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_CRL_NUMBER
"2.5.29.20"
pvStructInfo パラメーターは、int 変数へのポインターです。
X509_CRL_REASON_CODE
X509_ENUMERATED
pvStructInfo パラメーターは、列挙値を含む整数へのポインターです。 詳細については、「解説」を参照してください。
szOID_CRL_REASON_CODE
"2.5.29.21"
pvStructInfo パラメーターは、列挙値を含む整数へのポインターです。 詳細については、「解説」を参照してください。
szOID_CRL_VIRTUAL_BASE
"1.3.6.1.4.1.311.21.3"
pvStructInfo パラメーターは、int 変数へのポインターです。
X509_CROSS_CERT_DIST_POINTS
(LPCSTR) 58
pvStructInfo パラメーターは、CROSS_CERT_DIST_POINTS_INFO構造体へのポインターです。
szOID_CROSS_CERT_DIST_POINTS
"1.3.6.1.4.1.311.10.9.1"
pvStructInfo パラメーターは、CROSS_CERT_DIST_POINTS_INFO構造体へのポインターです。
RSA_CSP_PUBLICKEYBLOB
(LPCSTR) 19
pvStructInfo パラメーターは、Diffie-Hellman バージョン 3 公開キー BLOB または DSS バージョン 3 公開キー BLOB 構造体へのポインターです。 詳細については、「解説」を参照してください。
PKCS_CTL
(LPCSTR) 37
pvStructInfo パラメーターは、CTL_INFO構造体へのポインターです。
CMC_DATA
(LPCSTR) 59
pvStructInfo パラメーターは、CMC_DATA_INFO構造体へのポインターです。
szOID_DELTA_CRL_INDICATOR
"2.5.29.27"
pvStructInfo パラメーターは、int 変数へのポインターです。
X509_DSS_PARAMETERS
(LPCSTR) 39
pvStructInfo パラメーターは、CERT_DSS_PARAMETERS構造体へのポインターです。
X509_DSS_PUBLICKEY
X509_MULTI_BYTE_UINT
pvStructInfo パラメーターは、CRYPT_UINT_BLOB構造体へのポインターです。
X509_DSS_SIGNATURE
(LPCSTR) 40
pvStructInfo パラメーターは、40 バイトの配列へのポインターです。 詳細については、「解説」を参照してください。
szOID_ECC_PUBLIC_KEY
"1.2.840.10045.2.1"
pvStructInfo パラメーターは、オブジェクト識別子のドット表現の LPSTR へのポインターです。
X509_ECC_SIGNATURE
(LPCSTR) 47
pvStructInfo パラメーターは、CERT_ECC_SIGNATURE構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_ECC_PRIVATE_KEY
(LPCSTR) 82
pvStructInfo パラメーターは、CRYPT_ECC_PRIVATE_KEY_INFO構造体へのポインターです。
Windows Server 2003、Windows XP、Windows 2000、Windows Vista: この値はサポートされていません。
szOID_ECDSA_SPECIFIED
"1.2.840.10045.4.3"
pvStructInfo パラメーターは、CRYPT_ALGORITHM_IDENTIFIER構造体へのポインターです。
X509_ENHANCED_KEY_USAGE
(LPCSTR) 36
pvStructInfo パラメーターは、CERT_ENHKEY_USAGEまたはCTL_USAGE構造体へのポインターです。 (これらの構造体は同じですが、異なる名前で知られています)。
szOID_ENHANCED_KEY_USAGE
"2.5.29.37"
pvStructInfo パラメーターは、CERT_ENHKEY_USAGEまたはCTL_USAGE構造体へのポインターです。 (これらの構造体は同じですが、異なる名前で知られています)。
szOID_ENROLLMENT_NAME_VALUE_PAIR
"1.3.6.1.4.1.311.13.2.1"
pvStructInfo パラメーターは、CRYPT_ENROLLMENT_NAME_VALUE_PAIR構造体へのポインターです。
X509_ENUMERATED
(LPCSTR) 29
pvStructInfo パラメーターは、列挙値を含む整数へのポインターです。 詳細については、「解説」を参照してください。
X509_EXTENSIONS
(LPCSTR) 5
pvStructInfo パラメーターは、CERT_EXTENSIONS構造体へのポインターです。
szOID_FRESHEST_CRL
"2.5.29.46"
pvStructInfo パラメーターは、CRL_DIST_POINTS_INFO構造体へのポインターです。
X509_INTEGER
(LPCSTR) 27
pvStructInfo パラメーターは、32 ビット以下の符号付き整数へのポインターです。
szOID_ISSUER_ALT_NAME
"2.5.29.8"
pvStructInfo パラメーターは、CERT_ALT_NAME_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_ISSUER_ALT_NAME2
"2.5.29.18"
pvStructInfo パラメーターは、CERT_ALT_NAME_INFO構造体へのポインターです。
X509_ISSUING_DIST_POINT
(LPCSTR) 54
pvStructInfo パラメーターは、CRL_ISSUING_DIST_POINT構造体へのポインターです。
szOID_ISSUING_DIST_POINT
"2.5.29.28"
pvStructInfo パラメーターは、CRL_ISSUING_DIST_POINT構造体へのポインターです。
X509_KEY_ATTRIBUTES
(LPCSTR) 10
pvStructInfo パラメーターは、CERT_KEY_ATTRIBUTES_INFO構造体へのポインターです。
szOID_KEY_ATTRIBUTES
"2.5.29.2"
pvStructInfo パラメーターは、CERT_KEY_ATTRIBUTES_INFO構造体へのポインターです。
X509_KEY_USAGE
(LPCSTR) 14
pvStructInfo パラメーターは、CRYPT_BIT_BLOB構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_KEY_USAGE
"2.5.29.15"
pvStructInfo パラメーターは、CRYPT_BIT_BLOB構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_KEY_USAGE_RESTRICTION
(LPCSTR) 11
pvStructInfo パラメーターは、CERT_KEY_USAGE_RESTRICTION_INFO構造体へのポインターです。
szOID_KEY_USAGE_RESTRICTION
"2.5.29.4"
pvStructInfo パラメーターは、CERT_KEY_USAGE_RESTRICTION_INFO構造体へのポインターです。
X509_KEYGEN_REQUEST_TO_BE_SIGNED
(LPCSTR) 21
pvStructInfo パラメーターは、CERT_KEYGEN_REQUEST_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_LOGOTYPE_EXT
(LPCSTR) 70
pvStructInfo パラメーターは、CERT_LOGOTYPE_EXT_INFO構造体へのポインターです。
szOID_LOGOTYPE_EXT
"1.3.6.1.5.5.7.1.12"
pvStructInfo パラメーターは、CERT_LOGOTYPE_EXT_INFO構造体へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。
X509_MULTI_BYTE_INTEGER
(LPCSTR) 28
pvStructInfo パラメーターは、CRYPT_INTEGER_BLOB構造体へのポインターです。 BLOBリトル エンディアン順です。
X509_MULTI_BYTE_UINT
(LPCSTR) 38
pvStructInfo パラメーターは、CRYPT_UINT_BLOB構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_NAME
(LPCSTR) 7
pvStructInfo パラメーターは、CERT_NAME_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_NAME_CONSTRAINTS
(LPCSTR) 55
pvStructInfo パラメーターは、CERT_NAME_CONSTRAINTS_INFO構造体へのポインターです。
szOID_NAME_CONSTRAINTS
"2.5.29.30"
pvStructInfo パラメーターは、CERT_NAME_CONSTRAINTS_INFO構造体へのポインターです。
X509_NAME_VALUE
(LPCSTR) 6
pvStructInfo パラメーターは、CERT_NAME_VALUE構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_NEXT_UPDATE_LOCATION
pvStructInfo パラメーターは、CERT_ALT_NAME_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_OBJECT_IDENTIFIER
(LPCSTR) 73
pvStructInfo パラメーターは、オブジェクト識別子のドット表現の LPSTR へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。
X509_OCTET_STRING
(LPCSTR) 25
pvStructInfo パラメーターは、CRYPT_DATA_BLOB構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_OIWSEC_dsa
"1.3.14.3.2.12"
pvStructInfo パラメーターは、CERT_DSS_PARAMETERS構造体へのポインターです。
X509_POLICY_CONSTRAINTS
(LPCSTR) 57
pvStructInfo パラメーターは、CERT_POLICY_CONSTRAINTS_INFO構造体へのポインターです。
szOID_POLICY_CONSTRAINTS
"2.5.29.36"
pvStructInfo パラメーターは、CERT_POLICY_CONSTRAINTS_INFO構造体へのポインターです。
X509_POLICY_MAPPINGS
(LPCSTR) 56
pvStructInfo パラメーターは、CERT_POLICY_MAPPINGS_INFO構造体へのポインターです。
szOID_POLICY_MAPPINGS
"2.5.29.33"
pvStructInfo パラメーターは、CERT_POLICY_MAPPINGS_INFO構造体へのポインターです。
X509_PUBLIC_KEY_INFO
(LPCSTR) 8
pvStructInfo パラメーターは、CERT_PUBLIC_KEY_INFO構造体へのポインターです。
PKCS_RC2_CBC_PARAMETERS
(LPCSTR) 41
pvStructInfo パラメーターは、CRYPT_RC2_CBC_PARAMETERS構造体へのポインターです。
CMC_RESPONSE
(LPCSTR) 60
pvStructInfo パラメーターは、CMC_RESPONSE_INFO構造体へのポインターです。
CNG_RSA_PUBLIC_KEY_BLOB
(LPCSTR) 72
pvStructInfo パラメーターは、指数と剰余バイトの直後に続くBCRYPT_RSAKEY_BLOBへのポインターです。 詳細については、「解説」を参照してください。
CNG_RSA_PRIVATE_KEY_BLOB
LPCSTR) 83
pvStructInfo パラメーターは、プライベート BCRYPT_RSAKEY_BLOB構造体へのポインターです。
Windows Server 2003、Windows XP、Windows 2000、Windows Vista: この値はサポートされていません。
szOID_RSA_signingTime
"1.2.840.113549.1.9.5"
pvStructInfo パラメーターは、FILETIME 変数へのポインターです。 詳細については、「解説」を参照してください。
szOID_RSA_SMIMECapabilities
"1.2.840.113549.1.9.15"
pvStructInfo パラメーターは、CRYPT_SMIME_CAPABILITIES構造体へのポインターです。 詳細については、「解説」を参照してください。
PKCS_RSA_SSA_PSS_PARAMETERS
(LPCSTR) 75
pvStructInfo パラメーターは、CRYPT_RSA_SSA_PSS_PARAMETERS構造体へのポインターです。 詳細については、「解説」を参照してください。
Windows Server 2003 および Windows XP: この値はサポートされていません。
szOID_RSA_SSA_PSS
"1.2.840.113549.1.1.10"
pvStructInfo パラメーターは、CRYPT_RSA_SSA_PSS_PARAMETERS構造体へのポインターです。 詳細については、「解説」を参照してください。
Windows Server 2003 および Windows XP: この値はサポートされていません。
PKCS_RSAES_OAEP_PARAMETERS
(LPCSTR) 76
pvStructInfo パラメーターは、CRYPT_RSAES_OAEP_PARAMETERS構造体へのポインターです。 詳細については、「解説」を参照してください。
Windows Server 2003 および Windows XP: この値はサポートされていません。
ECC_CMS_SHARED_INFO
(LPCSTR) 77
pvStructInfo パラメーターは、CRYPT_ECC_CMS_SHARED_INFO構造体へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。
szOID_RSAES_OAEP
"1.2.840.113549.1.1.7"
pvStructInfo パラメーターは、CRYPT_RSAES_OAEP_PARAMETERS構造体へのポインターです。 詳細については、「解説」を参照してください。
Windows Server 2003 および Windows XP: この値はサポートされていません。
X509_SEQUENCE_OF_ANY
(LPCSTR) 34
pvStructInfo パラメーターは、CRYPT_SEQUENCE_OF_ANY構造体へのポインターです。 詳細については、「解説」を参照してください。
PKCS7_SIGNER_INFO
(LPCSTR) 500
pvStructInfo パラメーターは、CMSG_SIGNER_INFO構造体へのポインターです。
CMS_SIGNER_INFO
(LPCSTR) 501
pvStructInfo パラメーターは、CMSG_CMS_SIGNER_INFO構造体へのポインターです。
PKCS_SMIME_CAPABILITIES
(LPCSTR) 42
pvStructInfo パラメーターは、CRYPT_SMIME_CAPABILITIES構造体へのポインターです。 詳細については、「解説」を参照してください。
CMC_STATUS
(LPCSTR) 61
pvStructInfo パラメーターは、CMC_STATUS_INFO構造体へのポインターです。
szOID_SUBJECT_ALT_NAME
"2.5.29.7"
pvStructInfo パラメーターは、CERT_ALT_NAME_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
szOID_SUBJECT_ALT_NAME2
"2.5.29.17"
pvStructInfo パラメーターは、CERT_ALT_NAME_INFO構造体へのポインターです。
szOID_SUBJECT_KEY_IDENTIFIER
"2.5.29.14"
pvStructInfo パラメーターは、CRYPT_DATA_BLOB構造体へのポインターです。 詳細については、「解説」を参照してください。
PKCS_TIME_REQUEST
(LPCSTR) 18
pvStructInfo パラメーターは、CRYPT_TIME_STAMP_REQUEST_INFO構造体へのポインターです。
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
pvStructInfo パラメーターは、CERT_NAME_VALUE構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_UNICODE_NAME
(LPCSTR) 20
pvStructInfo パラメーターは、CERT_NAME_INFO構造体へのポインターです。 詳細については、「解説」を参照してください。
X509_UNICODE_NAME_VALUE
(LPCSTR) 24
pvStructInfo パラメーターは、CERT_NAME_VALUE構造体へのポインターです。 詳細については、「解説」を参照してください。
PKCS_UTC_TIME
(LPCSTR) 17
pvStructInfo パラメーターは、FILETIME 変数へのポインターです。 詳細については、「解説」を参照してください。
OCSP_SIGNED_REQUEST
(LPCSTR) 65
pvStructInfo パラメーターは、OCSP_SIGNED_REQUEST_INFO変数へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。
OCSP_REQUEST
(LPCSTR) 66
pvStructInfo パラメーターは、OCSP_REQUEST_INFO変数へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。
OCSP_RESPONSE
(LPCSTR) 67
pvStructInfo パラメーターは、OCSP_RESPONSE_INFO変数へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。
OCSP_BASIC_SIGNED_RESPONSE
(LPCSTR) 68
pvStructInfo パラメーターは、OCSP_BASIC_SIGNED_RESPONSE_INFO変数へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。
OCSP_BASIC_RESPONSE
(LPCSTR) 69
pvStructInfo パラメーターは、OCSP_BASIC_RESPONSE_INFO変数へのポインターです。
Windows Server 2003 および Windows XP: この値はサポートされていません。
PKCS_RSA_PRIVATE_KEY
(LPCSTR) 43
pvStructInfo パラメーターは、RSA 秘密キー BLOB へのポインターです。 詳細については、「 Diffie-Hellman バージョン 3 の秘密キー BLOB」 および 「DSS バージョン 3 の秘密キー BLOB」を参照してください
PKCS_PRIVATE_KEY_INFO
(LPCSTR) 44
pvStructInfo パラメーターは、CRYPT_PRIVATE_KEY_INFO構造体へのポインターです。
PKCS_ENCRYPTED_PRIVATE_KEY_INFO
(LPCSTR) 45
pvStructInfo パラメーターは、CRYPT_ENCRYPTED_PRIVATE_KEY_INFO構造体へのポインターです。

注釈

次の表では、特定 の lpszStructType 値の詳細を示します。

説明
X509_ALTERNATE_NAMEszOID_ISSUER_ALT_NAME
szOID_SUBJECT_ALT_NAME
エンコードする前に、 LPWSTR 名の選択肢は IA5 文字列に変換されます。 文字列に無効な IA5 文字列が含まれている場合、 GetLastError はCRYPT_E_INVALID_IA5_STRINGを返し、*pcbEncoded は無効な文字のエラー位置で更新されます。 エラー位置のインデックスは、次のように *pcbEncoded で返されます。
ビット 0 は DWORD の最下位ビットです。
エラーのVALUE_INDEXは、ビット 0 から 15 にあります。 これは Unicode 文字インデックスです。
エラーのENTRY_INDEXは、ビット 16 から 23 にあります。
マクロ GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) と GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) は、それらを含む DWORD からVALUE_INDEXとENTRY_INDEXのビットマップ フィールドを簡単に読み取るために定義されています。
szOID_SUBJECT_ALT_NAMEは、szOID_SUBJECT_ALT_NAME2によって置き換えられます。 新しい証明書サーバーは、後者を実装しています。
X509_AUTHORITY_INFO_ACCESS szOID_AUTHORITY_INFO_ACCESS
szOID_AUTHORITY_KEY_IDENTIFIER2
X509_AUTHORITY_KEY_ID2
エンコード関数が GetLastError としてCRYPT_E_INVALID_IA5_STRINGを返す場合、*pcbEncoded で返されるエラーの場所は、ENTRY_INDEX - 8 ビット << 16 で構成されます
VALUE_INDEX – 16 ビット (Unicode 文字インデックス)
エラー位置のインデックスは、次のように *pcbEncoded で返されます。
ビット 0 は DWORD の最下位ビットです。
エラーのVALUE_INDEXは、ビット 0 から 15 にあります。 これは Unicode 文字インデックスです。
エラーのENTRY_INDEXは、ビット 16 から 23 にあります。
マクロ GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) と GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) は、それらを含む DWORD からVALUE_INDEXおよびENTRY_INDEXのビットマップ フィールドを簡単に読み取るように定義されています。
X509_AUTHORITY_KEY_IDszOID_AUTHORITY_KEY_IDENTIFIER
X509_AUTHORITY_KEY_IDは、X509_AUTHORITY_KEY_ID2によって置き換えられます。 新しい証明書サーバーは、後者を実装しています。
X509_BASIC_CONSTRAINTSszOID_BASIC_CONSTRAINTS
X509_BASIC_CONSTRAINTSは、X509_BASIC_CONSTRAINTS2によって置き換えられます。 新しい証明書サーバーは、後者を実装しています。
X509_CERT CERT_SIGNED_CONTENT_INFO構造体には、署名するエンコードされたコンテンツ、その署名、署名アルゴリズムが含まれます。 ToBeSigned メンバーは、次のいずれかの lpszStructType 値に対する CryptEncodeObject の前回の呼び出しからエンコードされたCERT_INFO、CRL_INFO、CERT_REQUEST_INFO、またはCERT_KEYGEN_REQUEST_INFO出力です。
  • 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 証明書要求の属性の種類の 1 つに使用できます。
X509_CHOICE_OF_TIME X509_ASN_ENCODINGの場合、時刻が 1950 年より後で 2050 より前の場合、UTC 時刻は 2 桁の年でエンコードされます。 それ以外の場合は、4 桁の年でエンコードされた一般化された時刻になります。日付は秒に正確です。
PKCS_CONTENT_INFO X509_ASN_ENCODINGの場合は、PKCS #7 ContentInfo 構造体としてエンコードされます。 CRYPT_DER_BLOBは、既にエンコードされている ANY コンテンツを指します。
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY X509_ASN_ENCODINGの場合、一連の ANY をラップする PKCS #7 ContentInfo 構造体としてエンコードされます。 contentType メンバーの値は pszObjId ですが、コンテンツ フィールドは次の構造です。 SequenceOfAny ::= SEQUENCE OF ANY
CRYPT_DER_BLOBは、既にエンコードされている ANY コンテンツを指します。
X509_CRL_DIST_POINTSszOID_CRL_DIST_POINTS
getLastError がCRYPT_E_INVALID_IA5_STRINGを返してエンコード関数が失敗した場合、*pcbEncoded は無効な文字のエラー位置で更新されます: CRL_ISSUER_BIT – 1 ビット << 31 (FullName の場合は 0、CRLIssuer の場合は 1)
POINT_INDEX – 7 ビット << 24
ENTRY_INDEX – 8 ビット << 16
VALUE_INDEX – 16 ビット (Unicode 文字インデックス)
エラーの場所のインデックスは、次のように *pcbEncoded で返されます。
ビット 0 は DWORD の最下位ビットです。
エラーのVALUE_INDEXは、ビット 0 ~ 15 にあります。 これは Unicode 文字インデックスです。
エラーのENTRY_INDEXはビット 16 ~ 23 にあります。
マクロ GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) とGET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) は、VALUE_INDEXおよびENTRY_INDEXに含まれる DWORD のビットマップ フィールドを簡単に読み取るように定義されています。
szOID_CRL_NUMBER 基本 証明書失効リスト (CRL) でのみ使用されます。 これは、証明機関によって発行された各 CRL の単調に増加するシーケンス番号 です
X509_CRL_REASON_CODEszOID_CRL_REASON_CODE
X509_ENUMERATED
Integer は、次のいずれかの列挙値に設定できます。
理由コード: CRL_REASON_UNSPECIFIED
値: 0
理由コード: CRL_REASON_KEY_COMPROMISE
値:1
理由コード: CRL_REASON_CA_COMPROMISE
値: 2
理由コード: CRL_REASON_AFFILIATION_CHANGED
値: 3
理由コード: CRL_REASON_SUPERSEDED
値: 4
理由コード: CRL_REASON_CESSATION_OF_OPERATION
値: 5
理由コード: CRL_REASON_CERTIFICATE_HOLD
値: 6
理由コード: CRL_REASON_REMOVE_FROM_CRL
値: 8
szOID_CRL_VIRTUAL_BASE Delta CRL でのみ使用されます。 それには、対応するベース CRL のベース CRL 番号が含まれます。
X509_CROSS_CERT_DIST_POINTSszOID_CROSS_CERT_DIST_POINTS
CRYPT_E_INVALID_IA5_STRINGの場合、エラーの場所は *pcbEncoded by CryptEncodeObject(X509_CRL_DIST_POINTS) エラーの場所で返されます。
  • POINT_INDEX – 8 ビット << 24
  • ENTRY_INDEX – 8 ビット << 16
  • VALUE_INDEX – 16 ビット (Unicode 文字インデックス)
エラー位置定義定数ENTRY_INDEXとVALUE_INDEXの詳細については、「X509_ALTERNATE_NAME」を参照してください。
RSA_CSP_PUBLICKEYBLOB CryptExportKey 関数は、PUBLICKEYBLOB の dwBlobType に対して、上記の pvStructInfo 値を出力します。 CryptImportKey 関数では、公開キーをインポートするときに、上記の pvStructInfo 値が必要です。 dwCertEncodingType がX509_ASN_ENCODING場合、RSA_CSP_PUBLICKEYBLOBは、剰余 INTEGER と publicExponent INTEGER の SEQUENCE で構成される PKCS #1 RSAPublicKey としてエンコードされます。 剰余は符号なし整数としてエンコードされます。
デコード関数の場合、 pvStructInfo公開キー BLOB の直後に RSAPUBKEY と剰余バイトを指します。 (公開キー BLOB の詳細については、「CRYPT_INTEGER_BLOB」を参照してください)。CryptExportKey は、PUBLICKEYBLOB の dwBlobTypepvStructInfo 値を出力します。 CryptImportKey 関数は、公開キーをインポートするときに pvStructInfo 値を使用します。
dwCertEncodingType がX509_ASN_ENCODING場合、RSA_CSP_PUBLICKEYBLOBは、剰余 INTEGER と publicExponent INTEGER の SEQUENCE で構成される PKCS #1 RSAPublicKey としてエンコードされます。 デコード時に、剰余が先頭に 0 バイトの符号なし整数としてエンコードされた場合、CSP の剰余バイトに変換する前に 0 バイトが削除されます。 PKCS ) 構造体は常に CALG_RSA_KEYX に設定されるためです。
szOID_DELTA_CRL_INDICATOR Delta CRL でのみ使用されます。 これはクリティカルとマークされ、差分 CRL で使用できる最小基本 CRL 番号が含まれています。
X509_DSS_SIGNATURE バイトは DSS CSP の CryptSignHash によって出力として順序付けされます。下位 20 バイトは R 値、上位 20 バイトは S 値です。 R と S の値は符号なし整数として扱われ、それらのシーケンスとしてエンコードされます。
X509_ECC_SIGNATURE X509_DH_PARAMETERSと同じエンコードおよびデコード関数を使用します。 CERT_ECC_SIGNATURE構造体は、フィールドの名前を除き、CERT_DH_PARAMETERS構造体と同じです。
X509_ENUMERATED X509_CRL_REASON_CODEなどの任意の列挙体をエンコードするときに使用されます。
szOID_FRESHEST_CRL 基本 CRL でのみ使用されます。 これは、デルタ CRL をフェッチするための URL を保持する CDP 拡張機能と同じように書式設定されます。
X509_ISSUING_DIST_POINTszOID_ISSUING_DIST_POINT
CRYPT_E_INVALID_IA5_STRINGの場合、エラーの場所は *pcbEncoded by CryptEncodeObject(X509_ISSUING_DIST_POINT) エラーの場所で返されます。
  • ENTRY_INDEX – 8 ビット << 16
  • VALUE_INDEX – 16 ビット (Unicode 文字インデックス)
エラー位置定義定数ENTRY_INDEXとVALUE_INDEXの詳細については、「X509_ALTERNATE_NAME」を参照してください。
X509_KEY_USAGEszOID_KEY_USAGE
CERT_KEY_ATTRIBUTES_INFO構造体の IntendedKeyUsage メンバーに使用されるビット定義が使用されます。
X509_KEYGEN_REQUEST_TO_BE_SIGNED デコード関数の場合、 pbEncoded メンバーは、X509_CERT lpszStructType を使用したエンコード関数の 1 つの出力です。 この出力には、"署名する" データとその署名が含まれます。 エンコード関数の場合、 pbEncoded メンバーは "署名する" データのみです。
X509_MULTI_BYTE_UINT エンコードする前に、先頭の0x00が挿入されます。 デコード後、先頭の0x00が削除されます。
X509_NAME CERT_INFO構造体の Issuer メンバーと Subject メンバーをデコード/エンコードするために使用されます。
X509_NAME_CONSTRAINTSszOID_NAME_CONSTRAINTS
CRYPT_E_INVALID_IA5_STRINGの場合、エラーの場所は *pcbEncoded by CryptEncodeObject(X509_NAME_CONSTRAINTS) で返されます。エラーの場所は次で構成されます。
  • EXCLUDED_SUBTREE_BIT – 1 ビット << 31(許可されている場合は 0、除外する場合は 1)
  • ENTRY_INDEX – 8 ビット << 16
  • VALUE_INDEX – 16 ビット (Unicode 文字インデックス)
エラー位置定義定数ENTRY_INDEXとVALUE_INDEXの詳細については、「X509_ALTERNATE_NAME」を参照してください。
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
エンコード関数の場合、構造体の pbData メンバーが Unicode 文字列を指しています。 cbData メンバーが 0 の場合、Unicode 文字列には終端の null 文字が含まれます。それ以外の場合、cbData は Unicode 文字列バイト数です。 バイト数は文字数の 2 倍です。 指定した dwValueType に対して無効な文字が Unicode 文字列に含まれている場合、*pcbEncoded は無効な最初の文字の Unicode 文字インデックスで更新されます。 GetLastError は次 を返します。
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
Unicode 文字列は、指定された dwValueType に従ってエンコードされる前に変換されます。 dwValueType が 0 に設定されている場合、GetLastError はE_INVALIDARGを返します。
dwValueType が文字列を示さない場合、CryptEncodeObjectFALSE を返し、GetLastError はCRYPT_E_NOT_CHAR_STRINGを返します。
デコード関数の場合、 pbData メンバーは null で終わる Unicode 文字列を指し、 cbData メンバーには終了 する null 文字を除く Unicode 文字列のバイト数が含まれます。 dwValueType には、オブジェクトのエンコードに使用される型が含まれます。 CERT_RDN_UNICODE_STRINGを強制されません。 エンコードされた値は、 dwValueType に従って Unicode 文字列に変換されます。
エンコードされたオブジェクトが文字列型の 1 つでない場合、デコード関数は FALSE を 返し、 GetLastError は CRYPT_E_NOT_CHAR_STRINGを返します。
X509_ANY_STRINGの lpszStructType を使用して、文字以外の文字列をデコードします。
szOID_NEXT_UPDATE_LOCATION 証明書信頼リスト (CCTL) と共に使用して、最新の有効な時間有効な CTL の場所を取得します。 通常、CERT_ALT_NAME_INFOで使用される選択肢は、場所を示す URL です。
X509_OCTET_STRING 構造体にはバイトシーケンスが含まれています。 オクテット文字列の形式で 初期化ベクトル を必要とする一部の暗号化アルゴリズムで使用されます。
CNG_RSA_PUBLIC_KEY_BLOB 対応する pvStructInfo は、直ちに指数と剰余バイトが続くBCRYPT_RSAKEY_BLOBを指します。 指数と剰余の両方がビッグ エンディアン形式です。 cbPrime1cbPrime2 で構成される秘密キー フィールドは 0 に設定されます。
dwCertEncodingType パラメーターがX509_ASN_ENCODINGと等しい場合、CNG_RSA_PUBLIC_KEY_BLOBは、剰余と publicExponent のシーケンスで構成される PKCS #1 RSA 公開キーとしてエンコードされます。
PKCS_RSA_SSA_PSS_PARAMETERSszOID_RSA_SSA_PSS
エンコードの場合、 CRYPT_RSA_SSA_PSS_PARAMETERS 構造体フィールドが NULL またはゼロ に設定されている場合は、次の既定値を使用します。
フィールド: HashAlgorithm.pszObjId
既定値: szOID_OIWSEC_sha1
フィールド: MaskGenAlgorithm.pszObjId
既定値: szOID_RSA_MGF1
フィールド: MaskGenAlgorithm.HashAlgorithm.pszObjId
既定値: HashAlgorithm.pszObjId
フィールド: dwSaltLength
既定値: cbHash
フィールド: dwTrailerField
既定値: PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC
エンコードの場合、 HashAlgorithm.pszObjId フィールドのみを設定する必要があります。 デコードの場合、すべてのフィールドが明示的に設定されます。
PKCS_RSAES_OAEP_PARAMETERSszOID_RSAES_OAEP
エンコードの場合、 CRYPT_RSAES_OAEP_PARAMETERS 構造体フィールドが NULL またはゼロ に設定されている場合は、次の既定値を使用します。
フィールド: HashAlgorithm.pszObjId
既定値: szOID_OIWSEC_sha1
フィールド: MaskGenAlgorithm.pszObjId
既定値: szOID_RSA_MGF1
フィールド: MaskGenAlgorithm.HashAlgorithm.pszObjId
既定値: HashAlgorithm.pszObjId
フィールド: PSourceAlgorithm.pszObjId
既定値: szOID_RSA_PSPECIFIED
フィールド: PSourceAlgorithm.EncodingParameters.cbData
既定値は0
フィールド: PSourceAlgorithm.EncodingParameters.pbData
既定値: NULL
エンコードの場合、 HashAlgorithm.pszObjId フィールドのみを設定する必要があります。 デコードの場合、すべてのフィールドが明示的に設定されます。
X509_SEQUENCE_OF_ANY CRYPT_DER_BLOBは、既にエンコードされている ANY コンテンツを指します。
PKCS_SMIME_CAPABILITIESszOID_RSA_SMIMECapabilities
これらの lpszStructType 値は、エンコード関数の動作が異なります。 Secure/Multipurpose Internet Mail Extensions (S/MIME) の仕様により、Parameters.cbData が 0 の場合、エンコードされたパラメーターは省略され、NULL (05 00) としてエンコードされません。
szOID_SUBJECT_KEY_IDENTIFIER CRYPT_INTEGER_BLOB構造体には、任意のバイト シーケンスであるオクテット文字列が含まれています。
X509_UNICODE_NAME デコード関数の場合、相対識別名 (RDN) 属性値は、CERT_RDN_ENCODED_BLOBまたはCERT_RDN_OCTET_STRINGの dwValueTypeを除く Unicode 文字列です。 これらの dwValueTypeは、X509_NAMEの 場合と同じです。 これらの値は Unicode に変換されません。 RDN 属性値の pbData メンバーは 、null で終わる Unicode 文字列を指します。 RDN 属性値の cbData メンバーには、終端の null 文字を除く Unicode 文字列のバイト数が含まれています。 RDN 属性値の dwValueType メンバーには、エンコードされたオブジェクトで使用される型が含まれています。 CERT_RDN_UNICODE_STRINGを強制されません。 エンコードされた値は、 dwValueType に従って Unicode 文字列に変換されます。
エンコード関数の場合、RDN 属性値は、CERT_RDN_ENCODED_BLOBまたはCERT_RDN_OCTET_STRINGの dwValueTypeを除く Unicode 文字列です。 これらの dwValueTypeは、X509_NAMEの 場合と同じです。 これらの値は Unicode とは見なされません。
残りの文字列 dwValueTypeの場合、 相対識別名 (RDN) 属性値の pbData メンバーは Unicode 文字列を指します。 RDN 属性値の cbData メンバーが 0 の場合、Unicode 文字列の終端は null 文字になります。 それ以外の場合、RDN 属性値の cbData メンバーは Unicode 文字列バイト数です。 バイト数は文字数の 2 倍であり、終端の null 文字は除外されます。
RDN 属性値の dwValueType メンバーがCERT_RDN_ANY_TYPE場合、 pszObjId を 使用して許容される dwValueType が検索されます。 見つかった、または指定された dwValueType に対して無効な文字が Unicode 文字列に含まれている場合、*pcbEncoded は無効な文字のエラー位置で更新されます。 無効な文字の場合、 GetLastError は 次を返します。
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
Unicode 文字列は、指定された dwValueType またはオブジェクト識別子の dwValueType に従ってエンコードされる前に変換されます。
エンコード関数のエラー位置インデックスは、次のように *pcbEncoded で返されます。
エラーのVALUE_INDEXは、ビット 0 ~ 15 にあります。
エラーのATTR_INDEXは、ビット 16 から 21 にあります。
エラーのRDN_INDEXはビット 22 ~ 31 にあります。
ビット 0 は DWORD の最下位ビットです。
GET_CERT_UNICODE_RDN_ERR_INDEX(X)、GET_CERT_UNICODE_ATTR_ERR_INDEX(X)、およびGET_CERT_UNICODE_VALUE_ERR_INDEX(X) 定義のマクロは、それらを含む DWORD からVALUE_INDEX、ATTR_INDEX、およびRDN_INDEXのビットマップ フィールドを簡単に読み取ります。
PKCS_UTC_TIMEszOID_RSA_signingTime
X509_ASN_ENCODINGの場合、UTC 時刻は正確に秒にエンコードされ、2 桁の年を使用します。

 

要件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリ |UWP アプリ]
Header
Wincrypt.h

こちらもご覧ください

CRYPT_INTEGER_BLOB