Função CertSetCRLContextProperty (wincrypt.h)
A função CertSetCRLContextProperty define uma propriedade estendida para o contexto de CRL ( lista de revogação de certificados ) especificado.
Sintaxe
BOOL CertSetCRLContextProperty(
[in] PCCRL_CONTEXT pCrlContext,
[in] DWORD dwPropId,
[in] DWORD dwFlags,
[in] const void *pvData
);
Parâmetros
[in] pCrlContext
Um ponteiro para a estrutura CRL_CONTEXT .
[in] dwPropId
Identifica a propriedade a ser definida. O valor de dwPropId determina o tipo e o conteúdo do parâmetro pvData . Os identificadores definidos no momento e o tipo de dados a ser retornado no pvData estão listados na tabela a seguir.
Normalmente, somente as seguintes propriedades são definidas:
- CERT_HASH_PROP_ID
- CERT_SHA1_HASH_PROP_ID
- CERT_MD5_HASH_PROP_ID
- CERT_SIGNATURE_HASH_PROP_ID
Valor | Significado |
---|---|
|
Tipo de dados para pvData: ponteiro para um DWORD
Define um valor DWORD que indica se as operações de gravação no certificado são persistentes. O valor DWORD não será definido se o certificado estiver em um repositório de memória ou em um repositório baseado em registro aberto como somente leitura. |
|
Tipo de dados para pvData: NULL
Indica que o certificado é ignorado durante enumerações. Um certificado com esse conjunto de propriedades é encontrado com operações de pesquisa explícitas, como aquelas usadas para localizar um certificado com um hash específico ou um número de série. Nenhum dado em pvData está associado a essa propriedade. |
|
Tipo de dados para pvData: ponteiro para uma matriz BYTE Define uma cadeia de caracteres Unicode terminada em nulo nomeando o tipo de certificado para o qual o certificado foi registrado automaticamente. |
|
Tipo de dados para pvData: ponteiro para uma matriz BYTE Define uma matriz de bytes que contém uma estrutura de CTL_USAGE codificada em ASN.1 (Abstract Syntax Notation One). |
|
Tipo de dados para pvData: ponteiro para uma matriz BYTE Define a propriedade exibida pela interface do usuário do certificado. Essa propriedade permite que o usuário descreva o uso do certificado. |
|
Tipo de dados para pvData: Define uma matriz de bytes que contém uma estrutura de CERT_ENHKEY_USAGE codificada em ASN.1. |
|
Tipo de dados para pvData: ponteiro para uma matriz BYTE Define uma cadeia de caracteres Unicode terminada em nulo que contém o nome de exibição da CRL. |
|
Tipo de dados para pvData: ponteiro para uma estrutura CRYPT_DATA_BLOB .
Define uma cadeia de caracteres que contém um conjunto de pares de chave pública L"<PUBKEY>/<BITLENGTH>" e pares de comprimento de bit. O ponto e vírgula, L";", é usado como delimitador. O <valor PUBKEY> identifica o algoritmo de chave pública CNG. Há suporte para os seguintes algoritmos:
Nota Essa propriedade não deve ser definida para um certificado de signatário OCSP delegado. Um certificado de signatário delegado é assinado com a mesma chave usada para assinar o certificado de entidade e é verificado lá.
: L"RSA/2048; RSA/4096" |
|
Tipo de dados para pvData: ponteiro para uma estrutura CRYPT_DATA_BLOB .
Define uma cadeia de caracteres que contém um conjunto de pares de algoritmos L"<SIGNATURE>/<HASH>". O ponto e vírgula, L";", é usado como delimitador entre pares. Essa propriedade é definida somente quando uma resposta OCSP é convertida em uma CRL. Para um certificado de signatário OCSP delegado, somente o par de algoritmos para o certificado do signatário é retornado. Para uma cadeia de certificados do signatário OCSP independente, um par de algoritmos é retornado para cada certificado na cadeia, excluindo a raiz. O <valor SIGNATURE> identifica o algoritmo de chave pública CNG. Há suporte para os seguintes algoritmos:
|
|
Tipo de dados para pvData: ponteiro para uma estrutura CRYPT_DATA_BLOB .
Define o comprimento, em bits, da chave pública no certificado do emissor de CRL. Essa propriedade também é aplicável a um OCSP que foi convertido em uma CRL. Essa propriedade é definida explicitamente pelas funções de verificação de revogação. Windows 8 e Windows Server 2012: o suporte para essa propriedade começa. |
|
Tipo de dados para pvData: ponteiro para um CERT_KEY_CONTEXT
Define uma estrutura CERT_KEY_CONTEXT . |
|
Tipo de dados para pvData: ponteiro para uma matriz BYTE |
|
Tipo de dados para pvData: ponteiro para um HCRYPTPROV
Define o identificador do provedor obtido do CERT_KEY_CONTEXT_PROP_ID. |
|
Tipo de dados para pvData: ponteiro para um CRYPT_KEY_PROV_INFO
Define um ponteiro para uma estrutura CRYPT_KEY_PROV_INFO . |
|
Tipo de dados para pvData: ponteiro para um DWORD
Define um valor DWORD que especifica a chave privada obtida de CERT_KEY_CONTEXT_PROP_ID propriedade se ela existir. Caso contrário, se CERT_KEY_PROV_INFO_PROP_ID existir, será a origem do dwKeySpec. |
|
Tipo de dados para pvData: ponteiro para uma matriz BYTE Define o hash MD5. Você pode calcular o hash usando a função CryptHashCertificate . |
|
Tipo de dados para pvData: ponteiro para uma matriz BYTE Define a estrutura de CERT_ALT_NAME_INFO codificada em ASN.1 em uma CTL. |
|
Tipo de dados para pvData: ponteiro para uma matriz BYTE Define uma cadeia de caracteres unicode terminada em nulo, especificando o nome do arquivo que contém a chave privada associada à chave pública do certificado. |
|
Tipo de dados para pvData: ponteiro para uma matriz BYTE Define o hash SHA1. Você pode calcular o hash usando CryptHashCertificate. |
|
Tipo de dados de pvData: ponteiro para uma estrutura de CRYPT_DATA_BLOB .
Define a cadeia de caracteres L"<SIGNATURE>/<HASH>" que representa a assinatura do certificado. O <valor SIGNATURE> identifica o algoritmo de chave pública CNG. Há suporte para os seguintes algoritmos:
Essa propriedade é definida explicitamente pelas funções de verificação de revogação. Windows 8 e Windows Server 2012: o suporte para essa propriedade começa. |
|
Tipo de dados para pvData: ponteiro para uma matriz BYTE Define o hash de assinatura. Se o hash não existir, ele será calculado com CryptHashToBeSigned. O comprimento do hash é de 20 bytes para SHA e 16 para MD5. |
O usuário pode definir tipos dwPropId adicionais usando valores DWORD de CERT_FIRST_USER_PROP_ID para CERT_LAST_USER_PROP_ID. Para todos os tipos dwPropId definidos pelo usuário, pvData aponta para um CRYPT_DATA_BLOB codificado.
Para todos os outros identificadores de propriedade, pvData aponta para uma estrutura de CRYPT_DATA_BLOB codificada.
[in] dwFlags
CERT_STORE_NO_CRYPT_RELEASE_FLAG pode ser definido para as propriedades CERT_KEY_PROV_HANDLE_PROP_ID ou CERT_KEY_CONTEXT_PROP_ID dwPropId .
Se o valor CERT_SET_PROPERTY_IGNORE_PERSIST_ERROR_FLAG for definido, todos os erros de gravação do provedor serão ignorados e as propriedades do contexto armazenado em cache sempre serão definidas.
Se o CERT_SET_PROPERTY_INHIBIT_PERSIST_FLAG estiver definido, qualquer conjunto de propriedades não será persistido.
[in] pvData
Um ponteiro para um tipo de dados determinado pelo valor passado em dwPropId.
Retornar valor
Se a função for bem-sucedida, o valor retornado será TRUE.
Se a função falhar, o valor retornado será FALSE. Para obter informações de erro estendidas, chame GetLastError. Um código de erro possível é o seguinte.
Código de retorno | Descrição |
---|---|
|
A propriedade não é válida. O identificador especificado foi maior que 0x0000FFFF ou, para a propriedade CERT_KEY_CONTEXT_PROP_ID, um membro cbSize que não é válido foi especificado na estrutura CERT_KEY_CONTEXT . |
Comentários
Se uma propriedade já existir, seu valor antigo será substituído.
Exemplos
Para obter um exemplo que usa essa função, consulte Exemplo de Programa C: Obtendo e definindo propriedades de certificado.
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] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Crypt32.lib |
DLL | Crypt32.dll |