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


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

Примечание.

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

Внимание

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

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

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

Object Альтернатива
Certificate Объект 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 см. в разделе "Вызов платформы" (P/Invoke). .NET и CryptoAPI через P/Invoke: часть 1 и .NET и CryptoAPI через P/Invoke: часть 2 подразделов расширения шифрования .NET с CAPICOM и P/Invoke также может быть полезной.
ExtendedProperty Объект ExtendedProperty доступен для использования в операционных системах, указанных в разделе "Требования". Вместо этого используйте службы вызова платформы (PInvoke) для вызова функции API Win32 CertGetCertificateContextProperty и получения свойств. Сведения о PInvoke см. в разделе "Вызов платформы" (P/Invoke). .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 (Сохранить) Объект Store доступен для использования в операционных системах, указанных в разделе "Требования". Вместо этого используйте класс X509Store в пространстве имен System.Security.Cryptography.X509Certificates.
Шаблон Объект Template доступен для использования в операционных системах, указанных в разделе "Требования". Вместо этого используйте класс X509Extension в пространстве имен System.Security.Cryptography.X509Certificates, вызвав конструктор, который принимает OID в качестве параметра, а затем используйте OID для шаблона сертификата для получения шаблона расширения сертификата.

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

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

Object Альтернатива
Подписанный код Объект SignedCode доступен для использования в операционных системах, указанных в разделе "Требования". Вместо этого используйте службы вызова платформы (PInvoke), чтобы вызвать API Win32 SignerSignEx, SignerTimeStampEx и WinVerifyTrust, чтобы подписать содержимое с помощью цифровой подписи Authenticode. Сведения о PInvoke см. в разделе "Вызов платформы" (P/Invoke). .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.

Конвертированные объекты данных

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

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

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

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

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

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

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

Объект Description
Алгоритм Объект 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.
EKUs Объект EKUs доступен для использования в операционных системах, указанных в разделе "Требования". Вместо этого используйте класс 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.
OIDs Объект 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 для политик сертификатов для обработки квалификаторов, которые являются частью квалификаторов в расширении политик сертификатов.
Параметры Альтернатива недоступна.
Служебные программы Альтернатива недоступна.