Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O campo da criptografia é grande e crescente. Existem muitos formatos e protocolos de dados padrão diferentes. Estes são geralmente organizados em grupos ou famílias, cada um dos quais tem seu próprio conjunto de formatos de dados e maneira de fazer as coisas. Mesmo que duas famílias usem o mesmo algoritmo (por exemplo, o RC2de codificação de bloco), elas geralmente usarão esquemas dede preenchimento dediferentes, comprimentos de chave diferentese modos padrão diferentes. CryptoAPI é projetado para que um tipo de provedor CSP representa uma família específica.
Quando um aplicativo se conecta a um CSP de um tipo específico, cada uma das funções CryptoAPI irá, por padrão, operar de uma maneira prescrita pela família que corresponde a esse tipo de CSP. A escolha do tipo de provedor de um aplicativo especifica os seguintes itens:
| Número | Descrição |
|---|---|
| Algoritmo de troca de chaves | Cada tipo de provedor especifica um e apenas um algoritmo de troca de chaves. Cada CSP de um tipo específico deve implementar esse algoritmo. Os aplicativos especificam o algoritmo de troca de chaves a ser usado selecionando um CSP do tipo de provedor apropriado. |
| Algoritmo de assinatura digital | Cada tipo de provedor especifica um e apenas um algoritmo de assinatura digital. Cada CSP de um tipo específico deve implementar esse algoritmo. Os aplicativos especificam o algoritmo de assinatura digital a ser usado selecionando um CSP do tipo de provedor apropriado. |
| Principais formatos BLOB | O tipo provide determina o formato do BLOB de chave usado para exportar chaves doCSPe importar chaves para um CSP. |
| Formato de assinatura digital | O tipo de provedor determina o formato da assinatura digital. Isso garante que uma assinatura produzida por um CSP de um determinado tipo de provedor possa ser verificada por qualquer CSP do mesmo tipo de provedor. |
| Esquema de derivação de chave de sessão | O tipo de provedor determina o método usado para derivar uma chave de sessão de um hash . |
| Comprimento da chave | Alguns tipos de provedor especificam o comprimento de pares de chaves pública/privada e as chaves de sessão. |
| Modos padrão | O tipo de provedor geralmente especifica modos padrão para várias opções, como a criptografia de bloco o modo de codificação ou o método dede preenchimento dede criptografia de bloco. |
Alguns aplicativos avançados podem se conectar a mais de um CSP ao mesmo tempo, mas a maioria dos aplicativos geralmente usa apenas um único CSP.
Atualmente, existem vários tipos de provedores predefinidos. As próximas seções fornecem informações sobre os seguintes tipos de provedor:
- PROV_RSA_FULL
- PROV_RSA_AES
- PROV_RSA_SIG
- PROV_RSA_SCHANNEL
- PROV_DSS
- PROV_DSS_DH
- PROV_DH_SCHANNEL
- PROV_FORTEZZA
- PROV_MS_EXCHANGE
- PROV_SSL
Embora alguns tipos de CSP possam ser parcialmente compatíveis com outros, dois ou mais aplicativos que precisam trocar chaves e mensagens criptografadas devem usar CSPs do mesmo tipo.
Um gravador CSP personalizado pode definir um novo tipo de provedor. No entanto, o gravador CSP é responsável por distribuir o novo tipo de provedor para os autores de quaisquer aplicativos que devem usá-lo. Para obter informações sobre como escrever CSPs personalizados, consulte Cryptographic Service Providers.