Função CryptSetProvParam (wincrypt.h)
Sintaxe
BOOL CryptSetProvParam(
[in] HCRYPTPROV hProv,
[in] DWORD dwParam,
[in] const BYTE *pbData,
[in] DWORD dwFlags
);
Parâmetros
[in] hProv
O identificador de um CSP para o qual definir valores. Esse identificador já deve ter sido criado usando a função CryptAcquireContext .
[in] dwParam
Especifica o parâmetro a ser definido. Esse pode ser um dos valores a seguir.
Valor | Significado |
---|---|
|
Defina o identificador de janela que o provedor usa como o pai de todas as caixas de diálogo que ele cria. pbData contém um ponteiro para um HWND que contém o identificador de janela pai.
Esse parâmetro deve ser definido antes de chamar CryptAcquireContext porque muitos CSPs exibirão uma interface do usuário quando CryptAcquireContext for chamado. Você pode passar NULL para o parâmetro hProv para definir esse identificador de janela para todos os contextos criptográficos adquiridos posteriormente nesse processo. |
|
Exclua a chave efêmera associada a um contexto de hash, criptografia ou verificação. Isso liberará memória e limpará as configurações do Registro associadas à chave. |
|
Essa constante não é usada. |
|
Especifica que o PIN de troca de chaves está contido em pbData. O PIN é representado como uma cadeia de caracteres ASCII terminada em nulo. |
|
Essa constante não é usada. |
|
Define o descritor de segurança no contêiner de armazenamento de chaves. O parâmetro pbData é o endereço de uma estrutura SECURITY_DESCRIPTOR que contém o novo descritor de segurança para o contêiner de armazenamento de chaves. |
|
Define uma cadeia de caracteres de prompt alternativa a ser exibida para o usuário quando o PIN do usuário é solicitado. O parâmetro pbData é um ponteiro para uma cadeia de caracteres Unicode terminada em nulo. |
|
Define o repositório de certificados raiz para o cartão inteligente. O provedor copiará os certificados raiz desse repositório para o cartão inteligente.
O parâmetro pbData é uma variável HCERTSTORE que contém o identificador do novo repositório de certificados. O provedor copiará os certificados do repositório durante essa chamada, portanto, é seguro fechar esse repositório depois que essa função for chamada. Windows XP e Windows Server 2003: Não há suporte para esse parâmetro. |
|
Essa constante não é usada. |
|
Especifica o PIN de assinatura. O parâmetro pbData é uma cadeia de caracteres ASCII terminada em nulo que representa o PIN. |
|
Essa constante não é usada. |
|
Para um provedor de cartão inteligente, define a cadeia de caracteres de pesquisa exibida para o usuário como um prompt para inserir o cartão inteligente. Essa cadeia de caracteres é passada como o membro lpstrSearchDesc da estrutura OPENCARDNAME_EX que é passada para a função SCardUIDlgSelectCard . Essa cadeia de caracteres é usada durante o tempo de vida do processo de chamada.
O parâmetro pbData é um ponteiro para uma cadeia de caracteres Unicode terminada em nulo. |
|
Especifica que o CSP deve usar exclusivamente o RNG (gerador de número aleatório) de hardware. Quando PP_USE_HARDWARE_RNG é definido, os valores aleatórios são obtidos exclusivamente do RNG de hardware e nenhuma outra fonte é usada. Se um RNG de hardware tiver suporte do CSP e puder ser usado exclusivamente, a função terá êxito e retornará TRUE; caso contrário, a função falhará e retornará FALSE. O parâmetro pbData deve ser NULL e dwFlags deve ser zero ao usar esse valor.
Nenhum dos CSPs da Microsoft atualmente dá suporte ao uso de um RNG de hardware. |
|
Especifica o repositório de certificados do usuário para o cartão inteligente. Esse repositório de certificados contém todos os certificados de usuário armazenados no cartão inteligente. Os certificados nesse repositório são codificados usando PKCS_7_ASN_ENCODING ou codificação X509_ASN_ENCODING e devem conter a propriedade CERT_KEY_PROV_INFO_PROP_ID .
O parâmetro pbData é uma variável HCERTSTORE que recebe o identificador de um repositório de certificados na memória. Quando esse identificador não é mais necessário, o chamador deve fechá-lo usando a função CertCloseStore . Windows Server 2003 e Windows XP: Não há suporte para esse parâmetro. |
|
Especifica que um PIN de troca de chaves criptografada está contido em pbData. O parâmetro pbData contém um DATA_BLOB. |
|
Especifica que um PIN de assinatura criptografado está contido em pbData. O parâmetro pbData contém um DATA_BLOB. |
|
Especifica o nome do leitor de cartão inteligente. O parâmetro pbData é o endereço de uma matriz de caracteres ANSI que contém uma cadeia de caracteres ANSI terminada em nulo que contém o nome do leitor de cartão inteligente.
Windows Server 2003 e Windows XP: Não há suporte para esse parâmetro. |
|
Especifica o identificador do cartão inteligente. O parâmetro pbData é o endereço de uma estrutura GUID que contém o identificador do cartão inteligente.
Windows Server 2003 e Windows XP: Não há suporte para esse parâmetro. |
[in] pbData
Um ponteiro para um buffer de dados que contém o valor a ser definido como um parâmetro de provedor. A forma desses dados varia dependendo do valor dwParam . Se dwParam contiver PP_USE_HARDWARE_RNG, esse parâmetro deverá ser NULL.
[in] dwFlags
Se dwParam contiver PP_KEYSET_SEC_DESCR, dwFlags conterá os SECURITY_INFORMATION sinalizadores de bits aplicáveis, conforme definido no SDK da Plataforma. A segurança do contêiner de chaves é tratada usando SetFileSecurity e GetFileSecurity.
Esses sinalizadores de bits podem ser combinados usando uma operação OR bit a bit. Para obter mais informações, consulte CryptGetProvParam.
Se dwParam for PP_USE_HARDWARE_RNG ou PP_DELETEKEY, dwFlags deverá ser definido como zero.
Retornar valor
Se a função for bem-sucedida, o valor retornado será diferente de zero (TRUE).
Se a função falhar, o valor retornado será zero (FALSE). Para obter informações de erro estendidas, chame GetLastError.
Os códigos de erro precedidos por "NTE" são gerados pelo CSP específico que está sendo usado. Os códigos de erro incluem o seguinte.
Código de retorno | Descrição |
---|---|
|
O contexto do CSP está sendo usado por outro processo. |
|
Um dos parâmetros especifica um identificador que não é válido. |
|
Um dos parâmetros contém um valor que não é válido. Geralmente, esse é um ponteiro que não é válido. |
|
O parâmetro dwFlags é diferente de zero ou o buffer pbData contém um valor que não é válido. |
|
O parâmetro dwParam especifica um parâmetro desconhecido. |
|
O contexto CSP especificado quando a chave hKey foi criada não pode ser encontrado. |
|
A função falhou de alguma forma inesperada. |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | wincrypt.h |
Biblioteca | Advapi32.lib |
DLL | Advapi32.dll |