Альтернативы использованию 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 для политик сертификатов для обработки квалификаторов, которые являются частью квалификаторов в расширении политик сертификатов. |
Параметры | Альтернатива недоступна. |
Служебные программы | Альтернатива недоступна. |