使用 CAPICOM 的替代方法

[CAPICOM 是一个仅限 32 位的组件,可用于以下操作系统:Windows Server 2008、Windows Vista、Windows XP。 请改用.NET Framework来实现安全功能。 有关详细信息,请参阅下面列出的替代项。]

重要

CAPICOM 的替代方法均未提供脚本解决方案;因此,必须编写自己的 ActiveX 控件。 有关详细信息,请参阅 ActiveX 控件

 

证书存储对象

建议使用以下替代方法处理 证书存储和 这些存储中的证书。

Object 替代项
证书 Certificate 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Certificate2
CertificatePolicies CertificatePolicies 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Extension,方法是调用采用 OID 作为参数的构造函数,然后使用证书策略的 OID 检索证书策略。
证书 Certificates 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Certificate2Collection
CertificateStatus CertificateStatus 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509ChainStatus结构
供应链 Chain 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Chain
ExtendedProperties ExtendedProperties 对象可用于“要求”部分中指定的操作系统。 请改用平台调用服务 (PInvoke) 调用 Win32 API 函数 CertGetCertificateContextProperty 并获取属性。 有关 PInvoke 的信息,请参阅 平台调用教程使用 CAPICOM 和 P/Invoke 扩展 .NET 加密的第 1 部分以及通过 P/Invoke扩展 .NET 加密的第 2 部分的 .NET 和 CryptoAPI 可能也很有用。
ExtendedProperty ExtendedProperty 对象可用于“要求”部分中指定的操作系统。 请改用平台调用服务 (PInvoke) 调用 Win32 API 函数 CertGetCertificateContextProperty 并获取属性。 有关 PInvoke 的信息,请参阅 平台调用教程使用 CAPICOM 和 P/Invoke 扩展 .NET 加密的第 1 部分以及通过 P/Invoke扩展 .NET 加密的第 2 部分的 .NET 和 CryptoAPI 可能也很有用。
扩展 Extension 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Extension
扩展 Extensions 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509ExtensionCollection
PrivateKey PrivateKey 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Certificate2.PrivateKey 属性。
PublicKey PublicKey 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Certificate2.PublicKey 属性。
存储 Store 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Store
模板 Template 对象可用于“要求”部分中指定的操作系统。 请改为使用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Extension,方法是调用采用 OID 作为参数的构造函数,然后使用证书模板的 OID 检索证书扩展模板。

 

数字签名对象

建议使用以下替代方法对数据进行数字签名和验证数字签名。

Object 替代项
SignedCode SignedCode 对象可用于“要求”部分中指定的操作系统。 请改用平台调用服务 (PInvoke) 调用 Win32 API SignerSignExSignerTimeStampExWinVerifyTrust 函数,以使用 Authenticode 数字签名对内容进行签名。 有关 PInvoke 的信息,请参阅 平台调用教程使用 CAPICOM 和 P/Invoke 扩展 .NET 加密的第 1 部分以及通过 P/Invoke扩展 .NET 加密的第 2 部分的 .NET 和 CryptoAPI 可能也很有用。
SignedData SignedData 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.Pkcs 命名空间中的 SignedCms 类
签名程序 Signer 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.Pkcs 命名空间中的 CmsSigner 类
签名 Signers 对象可用于“要求”部分中指定的操作系统。 请改用 CmsSigner 对象的集合。 有关详细信息,请参阅 System.Security.Cryptography.Pkcs 命名空间中的 CmsSigner 类

 

信封数据对象

建议使用以下替代方法创建信封数据消息,以保护隐私,并解密信封邮件中的数据。

Object 说明
EnvelopedData EnvelopedData 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.Pkcs 命名空间中的 EnvelopedCms 类
收件人 Recipients 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.Pkcs 命名空间中的 CmsRecipientCollection 类

 

数据加密对象

建议使用以下替代方法加密任意数据,以保护隐私和解密加密数据。

Object 说明
EncryptedData EncryptedData 对象可用于“要求”部分中指定的操作系统。 请改用平台调用服务 (PInvoke) 调用 Win32 API 函数 CryptEncryptMessageCryptDecryptMessage 来加密和解密消息。 有关 PInvoke 的信息,请参阅 平台调用教程使用 CAPICOM 和 P/Invoke 扩展 .NET 加密的第 1 部分以及通过 P/Invoke扩展 .NET 加密的第 2 部分的 .NET 和 CryptoAPI 可能也很有用。

 

辅助对象

建议使用以下替代方法更改其他对象的默认行为和管理证书、证书存储和消息。

Object 说明
算法 Algorithm 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.Pkcs 命名空间中的 AlgorithmIdentifier 类
属性 Attribute 对象可用于在“要求”部分指定的操作系统中。 请改用 System.Security.Cryptography 命名空间中的 CryptographicAttributeObject 类
属性 Attributes 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography 命名空间中的 CryptographicAttributeObjectCollection 类
BasicConstraints BasicConstraints 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509BasicConstraintsExtension
EKU EKU 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509EnhancedKeyUsageExtension 类
EKU EKU 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509ExtensionCollection
EncodedData EncodedData 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography 命名空间中的 AsnEncodedData 类
ExtendedKeyUsage ExtendedKeyUsage 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509EnhancedKeyUsageExtension 类
HashedData HashedData 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography 命名空间中的 HashAlgorithm 类
KeyUsage KeyUsage 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509EnhancedKeyUsageExtension 类
NoticeNumbers NoticeNumbers 对象可用于“要求”部分中指定的操作系统。 有关详细信息,请参阅 限定符
OID OID 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography 命名空间中的 Oid 类
OID OID 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography 命名空间中的 OidCollection 类
PolicyInformation PolicyInformation 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Extension,方法是调用采用 OID 作为参数的构造函数,然后使用证书策略的 OID 来处理证书策略扩展中的策略信息。
Qualifier Qualifier 对象可用于“要求”部分中指定的操作系统。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Extension,方法是调用采用 OID 作为参数的构造函数,然后使用证书策略的 OID 来处理属于证书策略扩展中策略信息的限定符。
限定 符 限定符对象可在“要求”部分指定的操作系统中使用。 请改用 System.Security.Cryptography.X509Certificates 命名空间中的 X509Extension,方法是调用采用 OID 作为参数的构造函数,然后使用证书策略的 OID 来处理属于证书策略扩展中策略信息的限定符。
设置 没有可用的替代方法。
实用程序 没有可用的替代方法。