Alternativas ao uso de CAPICOM
Observação
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 e 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, confira Controles ActiveX.
- Objetos do repositório de certificados
- Objetos de assinatura digital
- Objetos de dados envelopados
- Objetos de criptografia de dados
- Objetos auxiliares
Objetos do repositório de certificados
Sugerimos as alternativas a seguir para trabalhar com repositórios de certificados e os certificados nesses repositórios.
Objeto | Alternativa |
---|---|
Certificado | O objeto do certificado está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509Certificate2 no System.Security.Cryptography.X509Certificates namespace. |
CertificatePolicies | O objeto do certificado CertificatePolicies está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509Extension no System.Security.Cryptography.X509Certificates chamando o construtor que usa um OID como parâmetro e, em seguida, use o OID para Políticas de Certificado para recuperar as políticas de certificado. |
Certificados | O objeto do Certificates está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509Certificate2Collection no System.Security.Cryptography.X509Certificates namespace. |
CertificateStatus | O objeto do CertificateStatus está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a estrutura X509ChainStatus no System.Security.Cryptography.X509Certificates namespace. |
Cadeia | O objeto de cadeia está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509Chain no System.Security.Cryptography.X509Certificates namespace. |
ExtendedProperties | O objeto do ExtendedProperties 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 função da API Win32 CertGetCertificateContextProperty e obtenha as propriedades. Para obter informações sobre PInvoke, consulte Chamada de plataforma (P/Invoke). O .NET e CryptoAPI via P/Invoke: parte 1 e .NET e CryptoAPI via P/Invoke: parte 2 das subseções de Extensão da 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 os Serviços de Invocação de Plataforma (PInvoke) para chamar a função da API Win32 CertGetCertificateContextProperty e obtenha as propriedades. Para obter informações sobre PInvoke, consulte Chamada de plataforma (P/Invoke). O .NET e CryptoAPI via P/Invoke: parte 1 e .NET e CryptoAPI via P/Invoke: parte 2 das subseções de Extensão da 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 a classe X509Extension no System.Security.Cryptography.X509Certificates namespace. |
Extensões | O objeto Extensions está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509ExtensionCollection 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 a 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 a propriedade X509Certificate2.PublicKey Property no System.Security.Cryptography.X509Certificates namespace. |
Store | O objeto Store está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509Store no System.Security.Cryptography.X509Certificates namespace. |
Modelo | O objeto Template está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509Extension no namespace System.Security.Cryptography.X509Certificates ao chamar o construtor que usa um OID como parâmetro e, em seguida, use o OID para Políticas de Certificado para recuperar as políticas de certificado. |
Objetos de assinatura digital
Sugerimos as seguintes alternativas para assinar os dados digitalmente e verificar assinaturas digitais.
Objeto | Alternativa |
---|---|
SignedCode | O objeto SignedCode 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 API Win32 SignerSignEx, SignerTimeStampEx, e WinVerifyTrust para assinar conteúdo com uma assinatura digital Authenticode. Para obter informações sobre PInvoke, consulte Chamada de plataforma (P/Invoke). O .NET e CryptoAPI via P/Invoke: parte 1 e .NET e CryptoAPI via P/Invoke: parte 2 das subseções de Extensão da 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 a classe SignedCms 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 a classe CmsSigner no System.Security.Cryptography.Pkcs namespace. |
Signers | O objeto Signers 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 a classe CmsSigner no System.Security.Cryptography.Pkcs namespace. |
Objetos de dados envelopados
Sugerimos as seguintes alternativas para criar mensagens de dados envelopadas para privacidade e descriptografar 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 a 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 a classe CmsRecipientCollection no System.Security.Cryptography.Pkcs namespace. |
Objetos de criptografia de dados
Sugerimos as seguintes alternativas para criptografar dados arbitrários para privacidade e descriptografar dados criptografados.
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 PInvoke (Platform Invocation Services) para chamar as funções de API do Win32 CryptEncryptMessage e CryptDecryptMessage para criptografar e descriptografar mensagens. Para obter informações sobre PInvoke, consulte Chamada de plataforma (P/Invoke). O .NET e CryptoAPI via P/Invoke: parte 1 e .NET e CryptoAPI via P/Invoke: parte 2 das subseções de Extensão da criptografia .NET com CAPICOM e P/Invoke também podem ser úteis. |
Objetos auxiliares
Sugerimos as alternativas a seguir para alterar os 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 a classe AlgorithmIdentifier no System.Security.Cryptography.Pkcs namespace. |
Atributo | O objeto Attribute está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe CryptographicAttributeObject no System.Security.Cryptography namespace. |
Atributos | O objeto Attributes está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe CryptographicAttributeObjectCollection no System.Security.Cryptography namespace. |
BasicConstraints | O objeto BasicConstraints está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509BasicConstraintsExtension 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 a classe X509EnhancedKeyUsageExtension no System.Security.Cryptography.X509Certificates namespace. |
EKUs | O objeto EKUs está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509ExtensionCollection 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 a classe AsnEncodedData 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 a classe X509EnhancedKeyUsageExtension 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 a classe HashAlgorithm 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 a classe X509EnhancedKeyUsageExtension no System.Security.Cryptography.X509Certificates namespace. |
NoticeNumbers | O objeto NoticeNumbers está disponível para uso nos sistemas operacionais especificados na seção requisitos. Para saber mais, consulte Qualifier. |
OID | O objeto OID está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe Oid Class no System.Security.Cryptography namespace. |
OIDs | O objeto OIDs está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe OidCollection Class no System.Security.Cryptography namespace. |
PolicyInformation | O objeto PolicyInformation está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509Extension no System.Security.Cryptography.X509Certificates namespace chamando o construtor que recebe um OID como parâmetro e, em seguida, use o OID para políticas de certificado para processar informações de política na extensão de políticas de certificado. |
Qualificador | O objeto Qualifier está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509Extension no System.Security.Cryptography.X509Certificates namespace chamando o construtor que recebe um OID como parâmetro e, em seguida, use o OID para Políticas de certificado para processar qualificadores que fazem parte das informações de política na extensão Políticas de certificado. |
Qualificadores | O objeto Qualifiers está disponível para uso nos sistemas operacionais especificados na seção requisitos. Em vez disso, use a classe X509Extension no System.Security.Cryptography.X509Certificates namespace chamando o construtor que recebe um OID como parâmetro e, em seguida, use o OID para Políticas de certificado para processar qualificadores que fazem parte das informações de política na extensão Políticas de certificado. |
Configurações | Nenhuma alternativa está disponível. |
Utilidades | Nenhuma alternativa está disponível. |