Partilhar via


Alternativas ao uso do CAPICOM

Observação

CAPICOM é um componente somente de 32 bits que estava disponível no SDK do Windows para uso nos seguintes sistemas operacionais: Windows Server 2008, Windows Vista, Windows XP. Em vez disso, use o .NET ou o .NET Framework para implementar recursos de segurança. Para obter mais informações, consulte as alternativas listadas abaixo.

Importante

Nenhuma das alternativas ao CAPICOM oferece uma solução para scripts; portanto, você deve escrever seu próprio controle ActiveX. Para obter mais informações, consulte Controles ActiveX.

Objetos de armazenamento de certificados

Sugerimos as seguintes alternativas para trabalhar com armazenamentos de certificados e os certificados nesses armazenamentos.

Objeto Alternativa
Certificado O objeto Certificate está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use oclasse X509Certificate2 no System.Security.Cryptography.X509Certificates namespace.
CertificatePolicies O objetoCertificatePolicies está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use oclasse X509Extension no namespaceSystem.Security.Cryptography.X509Certificates chamando o construtor que usa um OID como parâmetro e, em seguida, use o OID for Certificate Policies para recuperar as diretivas de certificado.
Certificados O objetoCertificadosestá disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509Certificate2Collection Class no System.Security.Cryptography.X509Certificates namespace.
CertificateStatus O objetoCertificateStatus está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509ChainStatus Structure no System.Security.Cryptography.X509Certificates namespace.
Cadeia O objeto Chain está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use oClasse X509Chain no namespaceSystem.Security.Cryptography.X509Certificates.
ExtendedProperties O objeto ExtendedProperties está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o Platform Invocation Services (PInvoke) para chamar a função de API do Win32 CertGetCertificateContextProperty e obter as propriedades. Para obter informações sobre PInvoke, consulte Platform Invoke (P/Invoke). O .NET e CryptoAPI via P/Invoke: Parte 1 e .NET e CryptoAPI via P/Invoke: Parte 2 subseções de Estendendo a criptografia .NET com CAPICOM e P/Invoke também podem ser úteis.
ExtendedProperty O objeto ExtendedProperty está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o Platform Invocation Services (PInvoke) para chamar a função de API do Win32 CertGetCertificateContextProperty e obter as propriedades. Para obter informações sobre PInvoke, consulte Platform Invoke (P/Invoke). O .NET e CryptoAPI via P/Invoke: Parte 1 e .NET e CryptoAPI via P/Invoke: Parte 2 subseções de Estendendo a criptografia .NET com CAPICOM e P/Invoke também podem ser úteis.
Extensão O objeto Extension está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509Extension Class no System.Security.Cryptography.X509Certificates namespace.
Extensões O objetoExtensions está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509ExtensionCollection Class no System.Security.Cryptography.X509Certificates namespace.
PrivateKey O objeto PrivateKey está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o de propriedade X509Certificate2.PrivateKey no System.Security.Cryptography.X509Certificates namespace.
PublicKey O objeto PublicKey está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o de propriedade X509Certificate2.PublicKey no namespaceSystem.Security.Cryptography.X509Certificates.
Store O objetoStore está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use ode classeX509Store no namespaceSystem.Security.Cryptography.X509Certificates.
Modelo O objetoModelo deestá disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509Extension Class no namespace System.Security.Cryptography.X509Certificates chamando o construtor que usa um OID como parâmetro e, em seguida, use o OID for Certificate Template para recuperar o modelo de extensão de certificado.

Objetos de assinatura digital

Sugerimos as seguintes alternativas para assinar digitalmente dados e verificar assinaturas digitais.

Objeto Alternativa
SignedCode O objetoSignedCode está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use os Serviços de Invocação de Plataforma (PInvoke) para chamar a API do Win32 SignerSignEx, SignerTimeStampExe funções de WinVerifyTrust para assinar conteúdo com uma assinatura digital Authenticode. Para obter informações sobre PInvoke, consulte Platform Invoke (P/Invoke). O .NET e CryptoAPI via P/Invoke: Parte 1 e .NET e CryptoAPI via P/Invoke: Parte 2 subseções de Estendendo a criptografia .NET com CAPICOM e P/Invoke também podem ser úteis.
SignedData O objeto SignedData está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o SignedCms Class no System.Security.Cryptography.Pkcs namespace.
signatário O objeto Signer está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o CmsSigner Class no System.Security.Cryptography.Pkcs namespace.
Signatários O objetoSigners está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use uma coleção de objetos CmsSigner. Para obter mais informações, consulte o CmsSigner Class no System.Security.Cryptography.Pkcs namespace.

Objetos de dados envelopados

Sugerimos as seguintes alternativas para criar mensagens de dados envelopadas para privacidade e para desencriptar dados em mensagens envelopadas.

Objeto Descrição
EnvelopedData O objeto EnvelopedData está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o Classe EnvelopedCms no System.Security.Cryptography.Pkcs namespace.
Destinatários O objeto Recipients está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o CmsRecipientCollection Class no System.Security.Cryptography.Pkcs namespace.

Objetos de criptografia de dados

Sugerimos as seguintes alternativas para encriptar dados arbitrários para privacidade e para desencriptar dados encriptados.

Objeto Descrição
EncryptedData O objeto EncryptedData está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o Platform Invocation Services (PInvoke) para chamar as funções da API do Win32 CryptEncryptMessage e CryptDecryptMessage para criptografar e descriptografar mensagens. Para obter informações sobre PInvoke, consulte Platform Invoke (P/Invoke). O .NET e CryptoAPI via P/Invoke: Parte 1 e .NET e CryptoAPI via P/Invoke: Parte 2 subseções de Estendendo a criptografia .NET com CAPICOM e P/Invoke também podem ser úteis.

Objetos auxiliares

Sugerimos as seguintes alternativas para alterar comportamentos padrão de outros objetos e gerenciar certificados, repositórios de certificados e mensagens.

Objeto Descrição
Algoritmo O objeto Algorithm está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o AlgorithmIdentifier Class no System.Security.Cryptography.Pkcs namespace.
Atributo O objetoatributoestá disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o CryptographicAttributeObject Class no System.Security.Cryptography namespace.
Atributos O objetoAtributosestá disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o CryptographicAttributeObjectCollection Class no System.Security.Cryptography namespace.
BasicConstraints O objetoBasicConstraints está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use ode classeX509BasicConstraintsExtension no System.Security.Cryptography.X509Certificates namespace.
EKU O objeto EKU está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509EnhancedKeyUsageExtension Class no System.Security.Cryptography.X509Certificates namespace.
EKUs O objetoEKUsestá disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509ExtensionCollection Class no System.Security.Cryptography.X509Certificates namespace.
EncodedData O objeto EncodedData está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use ode classeAsnEncodedData no System.Security.Cryptography namespace.
ExtendedKeyUsage O objeto ExtendedKeyUsage está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509EnhancedKeyUsageExtension Class no System.Security.Cryptography.X509Certificates namespace.
HashedData O objeto HashedData está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o HashAlgorithm Class no System.Security.Cryptography namespace.
KeyUsage O objeto KeyUsage está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509EnhancedKeyUsageExtension Class no System.Security.Cryptography.X509Certificates namespace.
NoticeNumbers O objetoNoticeNumbers está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Para obter mais informações, consulte Qualificador.
OID O objeto OID está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o Oid Class no System.Security.Cryptography namespace.
OIDs O objetoOIDsestá disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o OidCollection Class no System.Security.Cryptography namespace.
Policy de Informação O objeto PolicyInformation está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509Extension Class no System.Security.Cryptography.X509Certificates namespace chamando o construtor que usa um OID como parâmetro e, em seguida, use o OID for Certificate Policies para processar informações de política na extensão Certificate policies.
Qualificatório O objeto Qualifier está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509Extension Class no System.Security.Cryptography.X509Certificates namespace chamando o construtor que usa um OID como parâmetro e, em seguida, use o OID for Certificate Policies para processar qualificadores que fazem parte das informações de política na extensão Certificate Policies.
Eliminatórias O objetoQualificadores deestá disponível para uso nos sistemas operacionais especificados na seção Requisitos. Em vez disso, use o X509Extension Class no System.Security.Cryptography.X509Certificates namespace chamando o construtor que usa um OID como parâmetro e, em seguida, use o OID for Certificate Policies para processar qualificadores que fazem parte das informações de política na extensão Certificate Policies.
Configurações Não há alternativa disponível.
Utilitários Não há alternativa disponível.