Constantes para CryptEncodeObject e CryptDecodeObject

CryptEncodeObject, CryptEncodeObjectEx, As funções CryptSignAndEncodeCertificate, CryptDecodeObject e CryptDecodeObjectEx são funções generalizadas de codificação e decodificação, capazes de codificar e decodificar certificados codificados com ASN.1 (Abstract Syntax Notation One), CRLs (listas de revogação de certificado), CTLs (listas de certificados confiáveis) e solicitações de certificado.

A tabela a seguir lista as constantes, extensões e atributos predefinidos usados com operações de codificação e decodificação e a estrutura de dados a ser apontada pelo parâmetro pvStructInfo .

Observação

Algumas constantes predefinidas e cadeias de caracteres OID têm o mesmo significado. Quando isso acontece, qualquer um pode ser usado como o parâmetro lpszStuctType .

 

Constante/valor Descrição
CMC_ADD_ATTRIBUTES
(LPCSTR) 63
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMC_ADD_ATTRIBUTES_INFO .
CMC_ADD_EXTENSIONS
(LPCSTR) 62
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMC_ADD_EXTENSIONS_INFO .
X509_ALGORITHM_IDENTIFIER
(LPCSTR) 74
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ALGORITHM_IDENTIFIER .
X509_ALTERNATE_NAME
(LPCSTR) 12
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO . Para obter detalhes, consulte Observações.
X509_ANY_STRING
X509_NAME_VALUE
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_VALUE .
szOID_APPLICATION_CERT_POLICIES
"1.3.6.1.4.1.311.21.10"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_QUALIFIER_INFO .
szOID_APPLICATION_POLICY_CONSTRAINTS
"1.3.6.1.4.1.311.21.12"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_CONSTRAINTS_INFO .
szOID_APPLICATION_POLICY_MAPPINGS
"1.3.6.1.4.1.311.21.11"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_MAPPINGS_INFO .
PKCS_ATTRIBUTE
(LPCSTR) 22
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ATTRIBUTE .
X509_AUTHORITY_INFO_ACCESS
(LPCSTR) 32
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_INFO_ACCESS . Para obter detalhes, consulte Observações.
szOID_AUTHORITY_INFO_ACCESS
"1.3.6.1.5.5.7.1.1"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_INFO_ACCESS . Para obter detalhes, consulte Observações.
X509_SUBJECT_INFO_ACCESS
X509_AUTHORITY_INFO_ACCESS
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_INFO_ACCESS .
szOID_SUBJECT_INFO_ACCESS
"1.3.6.1.5.5.7.1.11"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_INFO_ACCESS .
X509_AUTHORITY_KEY_ID
(LPCSTR) 9
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_KEY_ID_INFO . Para obter detalhes, consulte Observações.
X509_AUTHORITY_KEY_ID2
(LPCSTR) 31
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_KEY_ID2_INFO . Para obter detalhes, consulte Observações.
szOID_AUTHORITY_KEY_IDENTIFIER
"2.5.29.1"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_KEY_ID_INFO . Para obter detalhes, consulte Observações.
szOID_AUTHORITY_KEY_IDENTIFIER2
"2.5.29.35"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_KEY_ID2_INFO . Para obter detalhes, consulte Observações.
X509_BASIC_CONSTRAINTS
(LPCSTR) 13
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_BASIC_CONSTRAINTS_INFO . Para obter detalhes, consulte Observações.
szOID_BASIC_CONSTRAINTS
"2.5.29.10"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_BASIC_CONSTRAINTS_INFO . Para obter detalhes, consulte Observações.
X509_BASIC_CONSTRAINTS2
(LPCSTR) 15
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_BASIC_CONSTRAINTS2_INFO .
szOID_BASIC_CONSTRAINTS2
"2.5.29.19"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_BASIC_CONSTRAINTS2_INFO .
X509_BIOMETRIC_EXT
(LPCSTR) 71
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_BIOMETRIC_EXT_INFO .
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
szOID_BIOMETRIC_EXT
"1.3.6.1.5.5.7.1.2"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_BIOMETRIC_EXT_INFO .
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
X509_BITS
(LPCSTR) 26
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_BIT_BLOB .
X509_CERT
(LPCSTR) 1
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_SIGNED_CONTENT_INFO . Para obter detalhes, consulte Observações.
X509_CERT_CRL_TO_BE_SIGNED
(LPCSTR) 3
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_INFO .
szOID_CERT_EXTENSIONS
"1.3.6.1.4.1.311.2.1.14"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_EXTENSIONS .
X509_CERT_PAIR
(LPCSTR) 53
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_PAIR .
X509_CERT_POLICIES
(LPCSTR) 16
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICIES_INFO .
szOID_CERT_POLICIES
"2.5.29.32"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICIES_INFO .
X509_CERT_REQUEST_TO_BE_SIGNED
(LPCSTR) 4
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_REQUEST_INFO .
X509_CERT_TO_BE_SIGNED
(LPCSTR) 2
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_INFO .
X509_CERTIFICATE_TEMPLATE
(LPCSTR) 64
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_TEMPLATE_EXT .
szOID_CERTIFICATE_TEMPLATE
"1.3.6.1.4.1.311.21.7"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_TEMPLATE_EXT .
X509_CHOICE_OF_TIME
(LPCSTR) 30
O parâmetro pvStructInfo é um ponteiro para uma variável FILETIME . Para obter detalhes, consulte Observações.
PKCS_CONTENT_INFO
(LPCSTR) 33
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_CONTENT_INFO . Para obter detalhes, consulte Observações.
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY
(LPCSTR) 23
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY . Para obter detalhes, consulte Observações.
X509_CRL_DIST_POINTS
(LPCSTR) 35
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_DIST_POINTS_INFO . Para obter detalhes, consulte Observações.
szOID_CRL_DIST_POINTS
2.5.29.31
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_DIST_POINTS_INFO . Para obter detalhes, consulte Observações.
szOID_CRL_NUMBER
"2.5.29.20"
O parâmetro pvStructInfo é um ponteiro para uma variável int .
X509_CRL_REASON_CODE
X509_ENUMERATED
O parâmetro pvStructInfo é um ponteiro para um inteiro que contém o valor enumerado. Para obter detalhes, consulte Observações.
szOID_CRL_REASON_CODE
"2.5.29.21"
O parâmetro pvStructInfo é um ponteiro para um inteiro que contém o valor enumerado. Para obter detalhes, consulte Observações.
szOID_CRL_VIRTUAL_BASE
"1.3.6.1.4.1.311.21.3"
O parâmetro pvStructInfo é um ponteiro para uma variável int .
X509_CROSS_CERT_DIST_POINTS
(LPCSTR) 58
O parâmetro pvStructInfo é um ponteiro para uma estrutura CROSS_CERT_DIST_POINTS_INFO .
szOID_CROSS_CERT_DIST_POINTS
"1.3.6.1.4.1.311.10.9.1"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CROSS_CERT_DIST_POINTS_INFO .
RSA_CSP_PUBLICKEYBLOB
(LPCSTR) 19
O parâmetro pvStructInfo é um ponteiro para uma estrutura de BLOBs de Chave Pública Diffie-Hellman Versão 3 ou BLOBs de Chave Pública do DSS Versão 3 . Para obter detalhes, consulte Observações.
PKCS_CTL
(LPCSTR) 37
O parâmetro pvStructInfo é um ponteiro para uma estrutura CTL_INFO .
CMC_DATA
(LPCSTR) 59
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMC_DATA_INFO .
szOID_DELTA_CRL_INDICATOR
"2.5.29.27"
O parâmetro pvStructInfo é um ponteiro para uma variável int .
X509_DSS_PARAMETERS
(LPCSTR) 39
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_DSS_PARAMETERS .
X509_DSS_PUBLICKEY
X509_MULTI_BYTE_UINT
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_UINT_BLOB .
X509_DSS_SIGNATURE
(LPCSTR) 40
O parâmetro pvStructInfo é um ponteiro para uma matriz de 40 bytes. Para obter detalhes, consulte Observações.
szOID_ECC_PUBLIC_KEY
"1.2.840.10045.2.1"
O parâmetro pvStructInfo é um ponteiro para um LPSTR da representação de ponto do identificador de objeto.
X509_ECC_SIGNATURE
(LPCSTR) 47
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ECC_SIGNATURE . Para obter detalhes, consulte Observações.
X509_ECC_PRIVATE_KEY
(LPCSTR) 82
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ECC_PRIVATE_KEY_INFO.
Windows Server 2003, Windows XP, Windows 2000 e Windows Vista: Não há suporte para esse valor.
szOID_ECDSA_SPECIFIED
"1.2.840.10045.4.3"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ALGORITHM_IDENTIFIER .
X509_ENHANCED_KEY_USAGE
(LPCSTR) 36
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ENHKEY_USAGE ou CTL_USAGE . (Essas estruturas são as mesmas, mas são conhecidas por nomes diferentes.)
szOID_ENHANCED_KEY_USAGE
"2.5.29.37"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ENHKEY_USAGE ou CTL_USAGE . (Essas estruturas são as mesmas, mas são conhecidas por nomes diferentes.)
szOID_ENROLLMENT_NAME_VALUE_PAIR
"1.3.6.1.4.1.311.13.2.1"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ENROLLMENT_NAME_VALUE_PAIR .
X509_ENUMERATED
(LPCSTR) 29
O parâmetro pvStructInfo é um ponteiro para um inteiro que contém o valor enumerado. Para obter detalhes, consulte Observações.
X509_EXTENSIONS
(LPCSTR) 5
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_EXTENSIONS .
szOID_FRESHEST_CRL
"2.5.29.46"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_DIST_POINTS_INFO .
X509_INTEGER
(LPCSTR) 27
O parâmetro pvStructInfo é um ponteiro para um inteiro com sinal de 32 bits ou menos.
szOID_ISSUER_ALT_NAME
"2.5.29.8"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO . Para obter detalhes, consulte Observações.
szOID_ISSUER_ALT_NAME2
"2.5.29.18"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO .
X509_ISSUING_DIST_POINT
(LPCSTR) 54
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_ISSUING_DIST_POINT .
szOID_ISSUING_DIST_POINT
"2.5.29.28"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_ISSUING_DIST_POINT .
X509_KEY_ATTRIBUTES
(LPCSTR) 10
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_KEY_ATTRIBUTES_INFO .
szOID_KEY_ATTRIBUTES
"2.5.29.2"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_KEY_ATTRIBUTES_INFO .
X509_KEY_USAGE
(LPCSTR) 14
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_BIT_BLOB . Para obter detalhes, consulte Observações.
szOID_KEY_USAGE
"2.5.29.15"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_BIT_BLOB . Para obter detalhes, consulte Observações.
X509_KEY_USAGE_RESTRICTION
(LPCSTR) 11
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_KEY_USAGE_RESTRICTION_INFO .
szOID_KEY_USAGE_RESTRICTION
"2.5.29.4"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_KEY_USAGE_RESTRICTION_INFO .
X509_KEYGEN_REQUEST_TO_BE_SIGNED
(LPCSTR) 21
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_KEYGEN_REQUEST_INFO . Para obter detalhes, consulte Observações.
X509_LOGOTYPE_EXT
(LPCSTR) 70
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_LOGOTYPE_EXT_INFO .
szOID_LOGOTYPE_EXT
"1.3.6.1.5.5.7.1.12"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_LOGOTYPE_EXT_INFO .
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
X509_MULTI_BYTE_INTEGER
(LPCSTR) 28
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_INTEGER_BLOB . O BLOB está em ordem little-endian .
X509_MULTI_BYTE_UINT
(LPCSTR) 38
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_UINT_BLOB . Para obter detalhes, consulte Observações.
X509_NAME
(LPCSTR) 7
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_INFO . Para obter detalhes, consulte Observações.
X509_NAME_CONSTRAINTS
(LPCSTR) 55
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_CONSTRAINTS_INFO .
szOID_NAME_CONSTRAINTS
"2.5.29.30"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_CONSTRAINTS_INFO .
X509_NAME_VALUE
(LPCSTR) 6
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_VALUE . Para obter detalhes, consulte Observações.
szOID_NEXT_UPDATE_LOCATION
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO . Para obter detalhes, consulte Observações.
X509_OBJECT_IDENTIFIER
(LPCSTR) 73
O parâmetro pvStructInfo é um ponteiro para um LPSTR da representação de ponto do identificador de objeto.
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
X509_OCTET_STRING
(LPCSTR) 25
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_DATA_BLOB . Para obter detalhes, consulte Observações.
szOID_OIWSEC_dsa
"1.3.14.3.2.12"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_DSS_PARAMETERS .
X509_POLICY_CONSTRAINTS
(LPCSTR) 57
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_CONSTRAINTS_INFO .
szOID_POLICY_CONSTRAINTS
"2.5.29.36"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_CONSTRAINTS_INFO .
X509_POLICY_MAPPINGS
(LPCSTR) 56
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_MAPPINGS_INFO .
szOID_POLICY_MAPPINGS
"2.5.29.33"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_MAPPINGS_INFO .
X509_PUBLIC_KEY_INFO
(LPCSTR) 8
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_PUBLIC_KEY_INFO .
PKCS_RC2_CBC_PARAMETERS
(LPCSTR) 41
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_RC2_CBC_PARAMETERS .
CMC_RESPONSE
(LPCSTR) 60
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMC_RESPONSE_INFO .
CNG_RSA_PUBLIC_KEY_BLOB
(LPCSTR) 72
O parâmetro pvStructInfo é um ponteiro para um BCRYPT_RSAKEY_BLOB imediatamente seguido pelo expoente e os bytes de módulo. Para obter detalhes, consulte Observações.
CNG_RSA_PRIVATE_KEY_BLOB
LPCSTR) 83
O parâmetro pvStructInfo é um ponteiro para uma estrutura de BCRYPT_RSAKEY_BLOB privada.
Windows Server 2003, Windows XP, Windows 2000 e Windows Vista: Não há suporte para esse valor.
szOID_RSA_signingTime
"1.2.840.113549.1.9.5"
O parâmetro pvStructInfo é um ponteiro para uma variável FILETIME . Para obter detalhes, consulte Observações.
szOID_RSA_SMIMECapabilities
"1.2.840.113549.1.9.15"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_SMIME_CAPABILITIES . Para obter detalhes, consulte Observações.
PKCS_RSA_SSA_PSS_PARAMETERS
(LPCSTR) 75
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_RSA_SSA_PSS_PARAMETERS . Para obter detalhes, consulte Observações.
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
szOID_RSA_SSA_PSS
"1.2.840.113549.1.1.10"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_RSA_SSA_PSS_PARAMETERS . Para obter detalhes, consulte Observações.
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
PKCS_RSAES_OAEP_PARAMETERS
(LPCSTR) 76
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_RSAES_OAEP_PARAMETERS . Para obter detalhes, consulte Observações.
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
ECC_CMS_SHARED_INFO
(LPCSTR) 77
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ECC_CMS_SHARED_INFO .
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
szOID_RSAES_OAEP
"1.2.840.113549.1.1.7"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_RSAES_OAEP_PARAMETERS . Para obter detalhes, consulte Observações.
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
X509_SEQUENCE_OF_ANY
(LPCSTR) 34
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_SEQUENCE_OF_ANY . Para obter detalhes, consulte Observações.
PKCS7_SIGNER_INFO
(LPCSTR) 500
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMSG_SIGNER_INFO .
CMS_SIGNER_INFO
(LPCSTR) 501
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMSG_CMS_SIGNER_INFO .
PKCS_SMIME_CAPABILITIES
(LPCSTR) 42
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_SMIME_CAPABILITIES . Para obter detalhes, consulte Observações.
CMC_STATUS
(LPCSTR) 61
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMC_STATUS_INFO .
szOID_SUBJECT_ALT_NAME
"2.5.29.7"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO . Para obter detalhes, consulte Observações.
szOID_SUBJECT_ALT_NAME2
"2.5.29.17"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO .
szOID_SUBJECT_KEY_IDENTIFIER
"2.5.29.14"
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_DATA_BLOB . Para obter detalhes, consulte Observações.
PKCS_TIME_REQUEST
(LPCSTR) 18
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_TIME_STAMP_REQUEST_INFO .
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_VALUE . Para obter detalhes, consulte Observações.
X509_UNICODE_NAME
(LPCSTR) 20
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_INFO . Para obter detalhes, consulte Observações.
X509_UNICODE_NAME_VALUE
(LPCSTR) 24
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_VALUE . Para obter detalhes, consulte Observações.
PKCS_UTC_TIME
(LPCSTR) 17
O parâmetro pvStructInfo é um ponteiro para uma variável FILETIME . Para obter detalhes, consulte Observações.
OCSP_SIGNED_REQUEST
(LPCSTR) 65
O parâmetro pvStructInfo é um ponteiro para uma variável OCSP_SIGNED_REQUEST_INFO .
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
OCSP_REQUEST
(LPCSTR) 66
O parâmetro pvStructInfo é um ponteiro para uma variável OCSP_REQUEST_INFO .
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
OCSP_RESPONSE
(LPCSTR) 67
O parâmetro pvStructInfo é um ponteiro para uma variável OCSP_RESPONSE_INFO .
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
OCSP_BASIC_SIGNED_RESPONSE
(LPCSTR) 68
O parâmetro pvStructInfo é um ponteiro para uma variável OCSP_BASIC_SIGNED_RESPONSE_INFO .
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
OCSP_BASIC_RESPONSE
(LPCSTR) 69
O parâmetro pvStructInfo é um ponteiro para uma variável OCSP_BASIC_RESPONSE_INFO .
Windows Server 2003 e Windows XP: Não há suporte para esse valor.
PKCS_RSA_PRIVATE_KEY
(LPCSTR) 43
O parâmetro pvStructInfo é um ponteiro para um BLOB de chave privada RSA. Para obter mais informações, consulte BLOBs de chave privada Diffie-Hellman versão 3 e BLOBs de chave privada do DSS versão 3.
PKCS_PRIVATE_KEY_INFO
(LPCSTR) 44
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_PRIVATE_KEY_INFO .
PKCS_ENCRYPTED_PRIVATE_KEY_INFO
(LPCSTR) 45
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ENCRYPTED_PRIVATE_KEY_INFO .

Comentários

A tabela a seguir fornece mais detalhes sobre valores lpszStructType específicos.

Valor Descrição
X509_ALTERNATE_NAMEszOID_ISSUER_ALT_NAME
szOID_SUBJECT_ALT_NAME
Antes da codificação, as opções de nome LPWSTR são convertidas em cadeias de caracteres IA5. Se a cadeia de caracteres contiver uma cadeia de caracteres IA5 que não é válida, GetLastError retornará CRYPT_E_INVALID_IA5_STRING e *pcbEncoded será atualizado com o local de erro do caractere que não é válido. Os índices de localização de erro são retornados em *pcbEncoded da seguinte maneira:
O bit 0 é o bit menos significativo do DWORD.
O VALUE_INDEX do erro está localizado nos bits 0 a 15. Esse é o índice de caracteres Unicode.
O ENTRY_INDEX do erro está localizado nos bits 16 a 23.
As macros GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) e GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) são definidas para fornecer uma leitura fácil dos campos bitmados para VALUE_INDEX e ENTRY_INDEX do DWORD que as contém:
O szOID_SUBJECT_ALT_NAME foi substituído por szOID_SUBJECT_ALT_NAME2. Novos servidores de certificado estão implementando o último.
X509_AUTHORITY_INFO_ACCESS szOID_AUTHORITY_INFO_ACCESS
szOID_AUTHORITY_KEY_IDENTIFIER2
X509_AUTHORITY_KEY_ID2
Se uma função de codificação retornar CRYPT_E_INVALID_IA5_STRING como GetLastError, o local de erro retornado em *pcbEncoded consistirá em: ENTRY_INDEX – 8 bits << 16
VALUE_INDEX – 16 bits (índice de caracteres Unicode)
Os índices de localização de erro são retornados em *pcbEncoded da seguinte maneira:
O bit 0 é o bit menos significativo do DWORD.
O VALUE_INDEX do erro está localizado nos bits 0 a 15. Esse é o índice de caracteres Unicode.
O ENTRY_INDEX do erro está localizado nos bits 16 a 23.
As macros GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) e GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) são definidas para fornecer uma leitura fácil dos campos bitmizados para VALUE_INDEX e ENTRY_INDEX do DWORD que as contém.
X509_AUTHORITY_KEY_IDszOID_AUTHORITY_KEY_IDENTIFIER
O X509_AUTHORITY_KEY_ID foi substituído por X509_AUTHORITY_KEY_ID2. Novos servidores de certificado estão implementando o último.
X509_BASIC_CONSTRAINTSszOID_BASIC_CONSTRAINTS
O X509_BASIC_CONSTRAINTS foi substituído por X509_BASIC_CONSTRAINTS2. Novos servidores de certificado estão implementando o último.
X509_CERT A estrutura CERT_SIGNED_CONTENT_INFO contém o conteúdo codificado a ser assinado, sua assinatura e algoritmo de assinatura. O membro ToBeSigned é uma saída codificada CERT_INFO, CRL_INFO, CERT_REQUEST_INFO ou CERT_KEYGEN_REQUEST_INFO de uma chamada anterior para CryptEncodeObject para um dos seguintes valores lpszStructType :
  • 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 Pode ser usado para um dos tipos de atributo em uma solicitação de certificado.
X509_CHOICE_OF_TIME Para X509_ASN_ENCODING, se a hora for após 1950 e antes de 2050, será a hora UTC codificada com um ano de dois dígitos. Caso contrário, é a hora generalizada codificada com um ano de quatro dígitos, a data é precisa para segundos.
PKCS_CONTENT_INFO Para X509_ASN_ENCODING, codificado como uma estrutura ContentInfo PKCS nº 7. O CRYPT_DER_BLOB aponta para o conteúdo ANY já codificado.
PKCS_CONTENT_INFO_SEQUENCE_OF_ANY Para X509_ASN_ENCODING, codificado como uma estrutura ContentInfo PKCS nº 7 encapsulando uma sequência de ANY. O valor do membro contentType é pszObjId, enquanto o campo de conteúdo é a seguinte estrutura: SequenceOfAny ::= SEQUENCE OF ANY
O CRYPT_DER_BLOB aponta para o conteúdo ANY já codificado.
X509_CRL_DIST_POINTSszOID_CRL_DIST_POINTS
Se a função de codificação falhar com GetLastError retornando CRYPT_E_INVALID_IA5_STRING, *pcbEncoded será atualizado com o local de erro do caractere que não é válido: CRL_ISSUER_BIT – 1 bit << 31 (0 para FullName, 1 para CRLIssuer)
POINT_INDEX – 7 bits << 24
ENTRY_INDEX – 8 bits << 16
VALUE_INDEX – 16 bits (índice de caracteres Unicode)
Os índices de localização de erro são retornados em *pcbEncoded da seguinte maneira:
O bit 0 é o bit menos significativo do DWORD.
O VALUE_INDEX do erro está localizado nos bits 0 a 15. Este é o índice de caracteres Unicode.
O ENTRY_INDEX do erro está localizado nos bits 16 a 23.
Macros GET_CERT_ALT_NAME_VALUE_ERR_INDEX(X) e GET_CERT_ALT_NAME_ENTRY_ERR_INDEX(X) são definidas para fornecer uma leitura fácil dos campos com bits para VALUE_INDEX e ENTRY_INDEX do DWORD que os contém.
szOID_CRL_NUMBER Usado apenas com CRLs ( listas de certificados revogados ) base. Esse é um número de sequência monotonicamente crescente para cada CRL emitida por uma autoridade de certificação.
X509_CRL_REASON_CODEszOID_CRL_REASON_CODE
X509_ENUMERATED
O Inteiro pode ser definido como um dos seguintes valores enumerados.
Código do motivo: CRL_REASON_UNSPECIFIED
Valor: 0
Código do motivo: CRL_REASON_KEY_COMPROMISE
Valor: 1
Código do motivo: CRL_REASON_CA_COMPROMISE
Valor: 2
Código do motivo: CRL_REASON_AFFILIATION_CHANGED
Valor: 3
Código do motivo: CRL_REASON_SUPERSEDED
Valor: 4
Código do motivo: CRL_REASON_CESSATION_OF_OPERATION
Valor: 5
Código do motivo: CRL_REASON_CERTIFICATE_HOLD
Valor: 6
Código do motivo: CRL_REASON_REMOVE_FROM_CRL
Valor: 8
szOID_CRL_VIRTUAL_BASE Usado somente com CRLs Delta. Ele contém o número de CRL base da CRL base correspondente.
X509_CROSS_CERT_DIST_POINTSszOID_CROSS_CERT_DIST_POINTS
Para CRYPT_E_INVALID_IA5_STRING, o local do erro é retornado em *pcbEncoded by CryptEncodeObject(X509_CRL_DIST_POINTS) O local do erro consiste em:
  • POINT_INDEX – 8 bits << 24
  • ENTRY_INDEX – 8 bits << 16
  • VALUE_INDEX – 16 bits (índice de caracteres Unicode)
Para obter mais informações sobre ENTRY_INDEX e VALUE_INDEX constantes definidas pelo local do erro, consulte X509_ALTERNATE_NAME.
RSA_CSP_PUBLICKEYBLOB A função CryptExportKey gera o valor pvStructInfo acima para um dwBlobType de PUBLICKEYBLOB. A função CryptImportKey espera o valor pvStructInfo acima ao importar uma chave pública. Se dwCertEncodingType for X509_ASN_ENCODING, o RSA_CSP_PUBLICKEYBLOB será codificado como um PKCS #1 RSAPublicKey que consiste em uma SEQUENCE de um INTEGER de módulo e um INTEGER publicExponent. O módulo é codificado como sendo um inteiro sem sinal.
Para as funções de decodificação, pvStructInfo aponta para um BLOB de chave pública imediatamente seguido por um RSAPUBKEY e os bytes de módulo. (Para obter informações sobre BLOBs de chave pública, consulte CRYPT_INTEGER_BLOB.) O CryptExportKey gera o valor pvStructInfo para um dwBlobType de PUBLICKEYBLOB. A função CryptImportKey espera o valor pvStructInfo ao importar uma chave pública.
Se dwCertEncodingType for X509_ASN_ENCODING, o RSA_CSP_PUBLICKEYBLOB será codificado como um PKCS #1 RSAPublicKey que consiste em uma SEQUENCE de um INTEGER de módulo e um INTEGER publicExponent. Quando decodificado, se o módulo tiver sido codificado como um inteiro sem sinal com um byte 0 à esquerda, o 0 byte será removido antes de converter para os bytes de módulo CSP. Como a estrutura PKCS ) é sempre definida como CALG_RSA_KEYX.
szOID_DELTA_CRL_INDICATOR Usado somente com CRLs Delta. Isso é marcado como crítico e contém o número de CRL base mínimo que pode ser usado com uma CRL delta.
X509_DSS_SIGNATURE Os bytes são ordenados como saída pelo CryptSignHash do CSS do DSS , em que os 20 bytes inferiores são o valor R e os 20 bytes mais altos são o valor S. Os valores de R e S são tratados como inteiros sem sinal e codificados como uma sequência deles.
X509_ECC_SIGNATURE Usa a mesma função de codificação e decodificação que X509_DH_PARAMETERS. A estrutura CERT_ECC_SIGNATURE é idêntica à estrutura CERT_DH_PARAMETERS , exceto pelos nomes dos campos.
X509_ENUMERATED Usado ao codificar qualquer enumeração arbitrária, como o X509_CRL_REASON_CODE.
szOID_FRESHEST_CRL Usado somente com CRLs base. Isso é formatado de forma idêntica a uma extensão CDP que contém URLs para buscar a CRL delta.
X509_ISSUING_DIST_POINTszOID_ISSUING_DIST_POINT
Para CRYPT_E_INVALID_IA5_STRING, o local do erro é retornado em *pcbEncoded by CryptEncodeObject(X509_ISSUING_DIST_POINT) O local do erro consiste em:
  • ENTRY_INDEX – 8 bits << 16
  • VALUE_INDEX – 16 bits (índice de caracteres Unicode)
Para obter mais informações sobre ENTRY_INDEX e VALUE_INDEX constantes definidas pelo local do erro, consulte X509_ALTERNATE_NAME.
X509_KEY_USAGEszOID_KEY_USAGE
As definições de bit usadas para o membro IntendedKeyUsage da estrutura CERT_KEY_ATTRIBUTES_INFO são usadas.
X509_KEYGEN_REQUEST_TO_BE_SIGNED Para as funções de decodificação, o membro pbEncoded é a saída de uma das funções de codificação usando o X509_CERT lpszStructType. Essa saída inclui os dados "a serem assinados" mais sua assinatura. Para as funções de codificação, o membro pbEncoded é somente os dados "a serem assinados".
X509_MULTI_BYTE_UINT Antes da codificação, uma 0x00 à esquerda é inserida. Após a decodificação, o 0x00 à esquerda é removido.
X509_NAME Usado para decodificar/ codificar os membros emissor e assunto em uma estrutura CERT_INFO .
X509_NAME_CONSTRAINTSszOID_NAME_CONSTRAINTS
Para CRYPT_E_INVALID_IA5_STRING, o local do erro é retornado em *pcbEncoded by CryptEncodeObject(X509_NAME_CONSTRAINTS) O local do erro consiste em:
  • EXCLUDED_SUBTREE_BIT – 1 bit << 31(0 para permitido, 1 para excluído)
  • ENTRY_INDEX – 8 bits << 16
  • VALUE_INDEX – 16 bits (índice de caracteres Unicode)
Para obter mais informações sobre ENTRY_INDEX e VALUE_INDEX constantes definidas pelo local do erro, consulte X509_ALTERNATE_NAME.
X509_UNICODE_ANY_STRING
X509_UNICODE_NAME_VALUE
Para as funções de codificação, o membro pbData da estrutura apontou para pontos para a cadeia de caracteres Unicode. Se o membro cbData for zero, a cadeia de caracteres Unicode terá um caractere nulo de terminação; caso contrário, cbData é a contagem de bytes de cadeia de caracteres Unicode. A contagem de bytes é o dobro da contagem de caracteres. Se a cadeia de caracteres Unicode contiver um caractere inválido para o dwValueType especificado, *pcbEncoded será atualizado com o índice de caracteres Unicode do primeiro caractere que não é válido. GetLastError retorna:
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
A cadeia de caracteres Unicode é convertida antes de ser codificada de acordo com o dwValueType especificado. Se dwValueType estiver definido como 0, GetLastError retornará E_INVALIDARG.
Se dwValueType não indicar uma cadeia de caracteres, CryptEncodeObject retornará FALSE com GetLastError retornando CRYPT_E_NOT_CHAR_STRING.
Para as funções de decodificação, o membro pbData aponta para uma cadeia de caracteres Unicode terminada em nulo e o membro cbData contém a contagem de bytes da cadeia de caracteres Unicode, excluindo o caractere nulo de terminação. dwValueType contém o tipo usado para codificar o objeto. Não é forçado a CERT_RDN_UNICODE_STRING. O valor codificado é convertido na cadeia de caracteres Unicode de acordo com o dwValueType.
Se o objeto codificado não for um dos tipos de cadeia de caracteres, a função de decodificação retornará FALSE com GetLastError retornando CRYPT_E_NOT_CHAR_STRING.
Decodificar cadeias de caracteres não caracter usando um lpszStructType de X509_ANY_STRING.
szOID_NEXT_UPDATE_LOCATION Usado com CTLs ( listas de confiança de certificado ) para obter o local para a CTL válida por tempo mais recente. Normalmente, a escolha usada no CERT_ALT_NAME_INFO é uma URL que indica o local.
X509_OCTET_STRING A estrutura contém uma sequência de bytes. Ele é usado com alguns algoritmos de criptografia que exigem um vetor de inicialização na forma de uma cadeia de caracteres de octeto.
CNG_RSA_PUBLIC_KEY_BLOB O pvStructInfo correspondente aponta para um BCRYPT_RSAKEY_BLOB imediatamente seguido pelo expoente e pelos bytes de módulo. Tanto o expoente quanto o módulo estão no formato big-endian. Os campos de chave privada que consistem em cbPrime1 e cbPrime2 são definidos como zero.
Se o parâmetro dwCertEncodingType for igual a X509_ASN_ENCODING, o CNG_RSA_PUBLIC_KEY_BLOB será codificado como uma chave pública PKCS #1 RSA que consiste em uma sequência de um módulo e um publicExponent.
PKCS_RSA_SSA_PSS_PARAMETERSszOID_RSA_SSA_PSS
Para codificação, use os seguintes padrões se os campos de estrutura CRYPT_RSA_SSA_PSS_PARAMETERS estiverem definidos como NULL ou zero.
Campo: HashAlgorithm.pszObjId
Padrão: szOID_OIWSEC_sha1
Campo: MaskGenAlgorithm.pszObjId
Padrão: szOID_RSA_MGF1
Campo: MaskGenAlgorithm.HashAlgorithm.pszObjId
Padrão: HashAlgorithm.pszObjId
Campo: dwSaltLength
Padrão: cbHash
Campo: dwTrailerField
Padrão: PKCS_RSA_SSA_PSS_TRAILER_FIELD_BC
Para codificação, somente o campo HashAlgorithm.pszObjId precisará ser definido. Para decodificação, todos os campos são definidos explicitamente.
PKCS_RSAES_OAEP_PARAMETERSszOID_RSAES_OAEP
Para codificação, use os seguintes padrões se os campos de estrutura CRYPT_RSAES_OAEP_PARAMETERS estiverem definidos como NULL ou zero.
Campo: HashAlgorithm.pszObjId
Padrão: szOID_OIWSEC_sha1
Campo: MaskGenAlgorithm.pszObjId
Padrão: szOID_RSA_MGF1
Campo: MaskGenAlgorithm.HashAlgorithm.pszObjId
Padrão: HashAlgorithm.pszObjId
Campo: PSourceAlgorithm.pszObjId
Padrão: szOID_RSA_PSPECIFIED
Campo: PSourceAlgorithm.EncodingParameters.cbData
Padrão: 0
Campo: PSourceAlgorithm.EncodingParameters.pbData
Padrão: NULL
Para codificação, somente o campo HashAlgorithm.pszObjId precisará ser definido. Para decodificação, todos os campos são definidos explicitamente.
X509_SEQUENCE_OF_ANY Os CRYPT_DER_BLOBapontam para o conteúdo ANY já codificado.
PKCS_SMIME_CAPABILITIESszOID_RSA_SMIMECapabilities
Esses valores lpszStructType funcionam de forma diferente para funções de codificação. Devido às especificações de S/MIME ( Secure/Multipurpose Internet Mail Extensions ), se parameters.cbData for zero, os parâmetros codificados serão omitidos e não codificados como NULL (05 00).
szOID_SUBJECT_KEY_IDENTIFIER A estrutura CRYPT_INTEGER_BLOB contém uma cadeia de caracteres de octeto, uma sequência arbitrária de bytes.
X509_UNICODE_NAME Para funções de decodificação, os valores de atributo rdn ( nome diferenciado relativo ) são cadeias de caracteres Unicode , exceto para os dwValueTypede CERT_RDN_ENCODED_BLOB ou CERT_RDN_OCTET_STRING. Esses dwValueTypesão os mesmos de um X509_NAME. Esses valores não são convertidos em Unicode. O membro pbData do valor do atributo RDN aponta para uma cadeia de caracteres Unicode terminada em nulo. O membro cbData do valor do atributo RDN contém a contagem de bytes da cadeia de caracteres Unicode, excluindo o caractere nulo de terminação. O membro dwValueType do valor do atributo RDN contém o tipo usado no objeto codificado. Não é forçado a CERT_RDN_UNICODE_STRING. O valor codificado é convertido na cadeia de caracteres Unicode de acordo com o dwValueType.
Para as funções de codificação, os valores de atributo RDN são cadeias de caracteres Unicode, exceto os dwValueTypede CERT_RDN_ENCODED_BLOB ou CERT_RDN_OCTET_STRING. Esses dwValueTypesão os mesmos de um X509_NAME. Esses valores não devem ser Unicode.
Para a cadeia de caracteres restante dwValueTypes, o membro pbData do valor do atributo de nome diferenciado relativo aponta para a cadeia de caracteres Unicode. Se o membro cbData do valor do atributo RDN for zero, a cadeia de caracteres Unicode terá um caractere nulo de terminação. Caso contrário, o membro cbData do valor do atributo RDN é a contagem de bytes de cadeia de caracteres Unicode. A contagem de bytes é o dobro da contagem de caracteres e exclui o caractere nulo de terminação.
Se o membro dwValueType do valor do atributo RDN for CERT_RDN_ANY_TYPE, o pszObjId será usado para encontrar um dwValueType aceitável. Se a cadeia de caracteres Unicode contiver um caractere que não é válido para o dwValueType encontrado ou especificado, *pcbEncoded será atualizado com o local de erro do caractere que não é válido. Para um caractere que não é válido, GetLastError retorna:
CRYPT_E_INVALID_NUMERIC_STRING
CRYPT_E_INVALID_PRINTABLE_STRING
CRYPT_E_INVALID_IA5_STRING
A cadeia de caracteres Unicode é convertida antes de ser codificada de acordo com o dwValueType especificado ou o dwValueType do identificador de objeto.
Os índices de local de erro das funções de codificação são retornados em *pcbEncoded da seguinte maneira:
O VALUE_INDEX do erro está localizado nos bits 0 a 15.
O ATTR_INDEX do erro está localizado nos bits 16 a 21.
O RDN_INDEX do erro está localizado nos bits 22 a 31.
O bit 0 é o bit menos significativo do DWORD.
As macros definidas GET_CERT_UNICODE_RDN_ERR_INDEX(X), GET_CERT_UNICODE_ATTR_ERR_INDEX(X) e GET_CERT_UNICODE_VALUE_ERR_INDEX(X) fornecem uma leitura fácil dos campos bitmizados para VALUE_INDEX, ATTR_INDEX e RDN_INDEX do DWORD que os contém.
PKCS_UTC_TIMEszOID_RSA_signingTime
Para X509_ASN_ENCODING, o tempo UTC codificado precisamente em segundos e usando um ano de dois dígitos.

 

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte
Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho
Wincrypt.h

Confira também

CRYPT_INTEGER_BLOB