Поделиться через


Альтернативы использованию CAPICOM

[CAPICOM — это 32-разрядный компонент, доступный для использования в следующих операционных системах: Windows Server 2008, Windows Vista, Windows XP. Вместо этого используйте платформа .NET Framework для реализации функций безопасности. Дополнительные сведения см. в приведенных ниже альтернативных вариантах.]

Важно!

Ни одна из альтернатив CAPICOM не предлагает решения для сценариев; Поэтому необходимо написать собственный элемент Управления ActiveX. Дополнительные сведения см. в разделе Элементы ActiveX.

 

Объекты хранилища сертификатов

Мы предлагаем следующие варианты работы с хранилищами сертификатов и сертификатами в этих хранилищах.

Объект Альтернатива
Сертификат Объект Certificate доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509Certificate2 в пространстве имен System.Security.Cryptography.X509Certificates .
CertificatePolicies Объект CertificatePolicies доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509Extension в пространстве имен System.Security.Cryptography.X509Certificates , вызвав конструктор, который принимает OID в качестве параметра, а затем используйте OID для политик сертификатов для получения политик сертификатов.
Сертификаты Объект Certificates доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509Certificate2Collection в пространстве имен System.Security.Cryptography.X509Certificates .
CertificateStatus Объект CertificateStatus доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте структуру X509ChainStatus в пространстве имен System.Security.Cryptography.X509Certificates .
Цепи Объект Chain доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509Chain в пространстве имен System.Security.Cryptography.X509Certificates .
ExtendedProperties Объект ExtendedProperties доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте службы вызова платформы (PInvoke), чтобы вызвать функцию API Win32 CertGetCertificateContextProperty и получить свойства . Сведения о PInvoke см. в руководстве по вызову платформы. .NET и CryptoAPI через P/Invoke. Часть 1 и .NET и CryptoAPI через P/Invoke. Часть 2статьи Расширение шифрования .NET с помощью CAPICOM и P/Invoke также могут быть полезны.
ExtendedProperty Объект ExtendedProperty доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте службы вызова платформы (PInvoke), чтобы вызвать функцию API Win32 CertGetCertificateContextProperty и получить свойства . Сведения о PInvoke см. в руководстве по вызову платформы. .NET и CryptoAPI через P/Invoke. Часть 1 и .NET и CryptoAPI через P/Invoke. Часть 2статьи Расширение шифрования .NET с помощью CAPICOM и P/Invoke также могут быть полезны.
Расширение Объект Extension доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509Extension в пространстве имен System.Security.Cryptography.X509Certificates .
Расширения Объект Extensions доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509ExtensionCollection в пространстве имен System.Security.Cryptography.X509Certificates .
PrivateKey Объект PrivateKey доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте свойство X509Certificate2.PrivateKey в пространстве имен System.Security.Cryptography.X509Certificates .
PublicKey Объект PublicKey доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте свойство X509Certificate2.PublicKey в пространстве имен System.Security.Cryptography.X509Certificates .
Магазин Объект Store доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509Store в пространстве имен System.Security.Cryptography.X509Certificates .
Шаблон Объект Template доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509Extension в пространстве имен System.Security.Cryptography.X509Certificates , вызвав конструктор, который принимает OID в качестве параметра, а затем используйте OID для шаблона сертификата, чтобы получить шаблон расширения сертификата.

 

Объекты цифровой подписи

Мы предлагаем следующие варианты цифровой подписи данных и проверки цифровых подписей.

Объект Альтернатива
SignedCode Объект SignedCode доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте службы вызова платформы (PInvoke) для вызова функций Win32 API SignerSignEx, SignerTimeStampEx и WinVerifyTrust для подписи содержимого цифровой подписью Authenticode. Сведения о PInvoke см. в руководстве по вызову платформы. .NET и CryptoAPI через P/Invoke. Часть 1 и .NET и CryptoAPI через P/Invoke. Часть 2статьи Расширение шифрования .NET с помощью CAPICOM и P/Invoke также могут быть полезны.
SignedData Объект SignedData доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс SignedCms в пространстве имен System.Security.Cryptography.Pkcs .
Автор подписи Объект Signer доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс CmsSigner в пространстве имен System.Security.Cryptography.Pkcs .
Подписыватели Объект Signers доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте коллекцию объектов CmsSigner. Дополнительные сведения см. в разделе Класс CmsSigner в пространстве имен System.Security.Cryptography.Pkcs .

 

Объекты данных в оболочке

Мы предлагаем следующие альтернативы для создания сообщений с запечатанными данными для обеспечения конфиденциальности и расшифровки данных в конвертированных сообщениях.

Объект Описание
EnvelopedData Объект EnvelopedData доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс EnvelopedCms в пространстве имен System.Security.Cryptography.Pkcs .
Recipients Объект Recipients доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс CmsRecipientCollection в пространстве имен System.Security.Cryptography.Pkcs .

 

Объекты шифрования данных

Мы предлагаем следующие варианты шифрования произвольных данных для обеспечения конфиденциальности и расшифровки зашифрованных данных.

Объект Описание
EncryptedData Объект EncryptedData доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте службы вызова платформы (PInvoke) для вызова функций API Win32 CryptEncryptMessage и CryptDecryptMessage для шифрования и расшифровки сообщений. Сведения о PInvoke см. в руководстве по вызову платформы. .NET и CryptoAPI через P/Invoke. Часть 1 и .NET и CryptoAPI через P/Invoke. Часть 2статьи Расширение шифрования .NET с помощью CAPICOM и P/Invoke также могут быть полезны.

 

Вспомогательные объекты

Мы предлагаем следующие альтернативы для изменения поведения по умолчанию других объектов и управления сертификатами, хранилищами сертификатов и сообщениями.

Объект Описание
Алгоритм Объект Algorithm доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс AlgorithmIdentifier в пространстве имен System.Security.Cryptography.Pkcs .
attribute Объект Attribute доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс CryptographicAttributeObject в пространстве имен System.Security.Cryptography .
Атрибуты Объект Attributes доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс CryptographicAttributeObjectCollection в пространстве имен System.Security.Cryptography .
BasicConstraints Объект BasicConstraints доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509BasicConstraintsExtension в пространстве имен System.Security.Cryptography.X509Certificates .
EKU Объект EKU доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509EnhancedKeyUsageExtension в пространстве имен System.Security.Cryptography.X509Certificates .
EKU Объект EKU доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509ExtensionCollection в пространстве имен System.Security.Cryptography.X509Certificates .
EncodedData Объект EncodedData доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс AsnEncodedData в пространстве имен System.Security.Cryptography .
ExtendedKeyUsage Объект ExtendedKeyUsage доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509EnhancedKeyUsageExtension в пространстве имен System.Security.Cryptography.X509Certificates .
HashedData Объект HashedData доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс HashAlgorithm в пространстве имен System.Security.Cryptography .
KeyUsage Объект KeyUsage доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509EnhancedKeyUsageExtension в пространстве имен System.Security.Cryptography.X509Certificates .
NoticeNumbers Объект NoticeNumbers доступен для использования в операционных системах, указанных в разделе Требования. Дополнительные сведения см. в разделе Квалификатор.
OID Объект OID доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс Oid в пространстве имен System.Security.Cryptography .
Идентификаторы OID Объект OIDs доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс OidCollection в пространстве имен System.Security.Cryptography .
PolicyInformation Объект PolicyInformation доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509Extension в пространстве имен System.Security.Cryptography.X509Certificates , вызвав конструктор, который принимает OID в качестве параметра, а затем используйте OID для политик сертификатов для обработки сведений о политике в расширении политик сертификатов.
Квалификатор Объект квалификатора доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509Extension в пространстве имен System.Security.Cryptography.X509Certificates , вызвав конструктор, который принимает OID в качестве параметра, а затем используйте OID для политик сертификатов для обработки квалификаторов, которые являются частью сведений о политике в расширении политики сертификатов.
Квалификаторы Объект квалификаторов доступен для использования в операционных системах, указанных в разделе Требования. Вместо этого используйте класс X509Extension в пространстве имен System.Security.Cryptography.X509Certificates , вызвав конструктор, который принимает OID в качестве параметра, а затем используйте OID для политик сертификатов для обработки квалификаторов, которые являются частью сведений о политике в расширении политики сертификатов.
Параметры Альтернатива отсутствует.
Служебные программы Альтернатива отсутствует.