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 |
---|---|
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMC_ADD_ATTRIBUTES_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMC_ADD_EXTENSIONS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ALGORITHM_IDENTIFIER . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_VALUE . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_QUALIFIER_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_CONSTRAINTS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_MAPPINGS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ATTRIBUTE . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_INFO_ACCESS . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_INFO_ACCESS . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_INFO_ACCESS . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_INFO_ACCESS . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_KEY_ID_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_KEY_ID2_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_KEY_ID_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_AUTHORITY_KEY_ID2_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_BASIC_CONSTRAINTS_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_BASIC_CONSTRAINTS_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_BASIC_CONSTRAINTS2_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_BASIC_CONSTRAINTS2_INFO . |
|
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. |
|
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. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_BIT_BLOB . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_SIGNED_CONTENT_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_EXTENSIONS . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_PAIR . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICIES_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICIES_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_REQUEST_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_TEMPLATE_EXT . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_TEMPLATE_EXT . |
|
O parâmetro pvStructInfo é um ponteiro para uma variável FILETIME . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_CONTENT_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_CONTENT_INFO_SEQUENCE_OF_ANY . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_DIST_POINTS_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_DIST_POINTS_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma variável int . |
|
O parâmetro pvStructInfo é um ponteiro para um inteiro que contém o valor enumerado. Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para um inteiro que contém o valor enumerado. Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma variável int . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CROSS_CERT_DIST_POINTS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CROSS_CERT_DIST_POINTS_INFO . |
|
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. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CTL_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMC_DATA_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma variável int . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_DSS_PARAMETERS . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_UINT_BLOB . |
|
O parâmetro pvStructInfo é um ponteiro para uma matriz de 40 bytes. Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para um LPSTR da representação de ponto do identificador de objeto. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ECC_SIGNATURE . Para obter detalhes, consulte Observações. |
|
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. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ALGORITHM_IDENTIFIER . |
|
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.) |
|
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.) |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_ENROLLMENT_NAME_VALUE_PAIR . |
|
O parâmetro pvStructInfo é um ponteiro para um inteiro que contém o valor enumerado. Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_EXTENSIONS . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_DIST_POINTS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para um inteiro com sinal de 32 bits ou menos. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_ISSUING_DIST_POINT . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRL_ISSUING_DIST_POINT . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_KEY_ATTRIBUTES_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_KEY_ATTRIBUTES_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_BIT_BLOB . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_BIT_BLOB . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_KEY_USAGE_RESTRICTION_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_KEY_USAGE_RESTRICTION_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_KEYGEN_REQUEST_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_LOGOTYPE_EXT_INFO . |
|
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. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_INTEGER_BLOB . O BLOB está em ordem little-endian . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_UINT_BLOB . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_CONSTRAINTS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_CONSTRAINTS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_VALUE . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO . Para obter detalhes, consulte Observações. |
|
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. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_DATA_BLOB . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_DSS_PARAMETERS . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_CONSTRAINTS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_CONSTRAINTS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_MAPPINGS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_POLICY_MAPPINGS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_PUBLIC_KEY_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_RC2_CBC_PARAMETERS . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMC_RESPONSE_INFO . |
|
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. |
|
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. |
|
O parâmetro pvStructInfo é um ponteiro para uma variável FILETIME . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_SMIME_CAPABILITIES . Para obter detalhes, consulte Observações. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_SEQUENCE_OF_ANY . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMSG_SIGNER_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMSG_CMS_SIGNER_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_SMIME_CAPABILITIES . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CMC_STATUS_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_ALT_NAME_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_DATA_BLOB . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_TIME_STAMP_REQUEST_INFO . |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_VALUE . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_INFO . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CERT_NAME_VALUE . Para obter detalhes, consulte Observações. |
|
O parâmetro pvStructInfo é um ponteiro para uma variável FILETIME . Para obter detalhes, consulte Observações. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
O parâmetro pvStructInfo é um ponteiro para uma estrutura CRYPT_PRIVATE_KEY_INFO . |
|
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 :
|
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.
|
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:
|
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:
|
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:
|
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.
|
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.
|
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 |
|
Confira também