Microsoft capicom что это за программа

Использование CAPICOM

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

В этом разделе содержатся сценарии, использующие процедуры CAPICOM.

Создание цифровых подписей и обволакивание сообщений с помощью CAPICOM выполняется с помощью шифрования инфраструктуры открытых ключей (PKI) и может выполняться только в том случае, если подписыватель или пользователь, расшифровывая конвертированное сообщение, имеет доступ к сертификату с доступным связанным закрытым ключом. Чтобы расшифровать конвертированное сообщение, сертификат с доступом к закрытому ключу должен находиться в хранилище MY.

Обсуждения и примеры сценариев на основе задач разделены на следующие разделы:

  • Альтернативы использованию CAPICOM
  • Подготовка к использованию CAPICOM
  • Шифрование и расшифровка данных
  • Подписывание данных и проверка цифровых подписей
  • Использование хранилищ сертификатов
  • Создание и получение сообщений о конвертированных данных

Подписывание документа

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

Стандартное использование подписи — подписывать текст и сохранять его в файл. Подписанный текст также можно отправить через Интернет. Подписанное сообщение имеет формат PKCS 7.

В этом примере подпись создается для отсоединяемого содержимого (если содержимое не входит в сигнатуру). Отсоединенную подпись чаще всего используют, если получатель подписи имеет копию точного подписанного текста. В приведенном ниже примере исходное сообщение и отсоединенная подпись записываются в отдельные файлы.

При любой ошибке CAPICOM возвращается отрицательное десятичное значение Err.Number . Дополнительные сведения см. в разделе CAPICOM_ERROR_CODE. Сведения о положительных десятичных значениях Err.Number см. в разделе Winerror.h.

При создании подписи используется закрытый ключ подписывателя. Подпись может быть создана только в том случае, если доступен сертификат подписавшего с соответствующим закрытым ключом. В этом примере метода Sign не указывается подписыватель. Если подписыватель не указан и сертификат в CAPICOM_MY_STORE не имеет связанного закрытого ключа, метод Sign завершается ошибкой. Если один и только один сертификат в CAPICOM_MY_STORE имеет связанный закрытый ключ, этот сертификат и его закрытый ключ используются для создания подписи. Если несколько сертификатов в хранилище CAPICOM_MY_STORE имеют связанный закрытый ключ, появится диалоговое окно, и пользователь может выбрать сертификат, который будет использоваться для создания подписи.

Когда веб-приложение использует метод Sign , всегда отображается запрос и требуется разрешение пользователя перед созданием подписи, которая использует закрытый ключ этого подписывавшего.

Sub Signfile(ByVal InputFileName As String, _ ByVal OutputFileName As String) On Error GoTo ErrorHandler Dim c As String Dim s As String Dim MyStore As New Store Dim Signobj As New SignedData Dim Signer As New Signer ' NOTE: the name 'Attribute' is not a unique name ' and must be preceded by 'CAPICOM.' Dim SigningTime As New CAPICOM.Attribute ' Open the MY store and retrieve the first certificate from the ' Store. The signing operation will only work if this ' certificate is valid and has access to the signer's private key. MyStore.Open CAPICOM_CURRENT_USER_STORE, "MY", _ CAPICOM_STORE_OPEN_READ_ONLY Signer.Certificate = MyStore.Certificates.Item(1) ' Open the input file and read the content to be signed from ' the file. Open App.Path & "\" & InputFileName For Input As #1 Input #1, c Close #1 ' Set the content to be signed. Signobj.Content = c ' Save the time the data was signed as a signer attribute. SigningTime.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME SigningTime.Value = Now Signer.AuthenticatedAttributes.Add SigningTime ' Sign the content using the signer's private key. ' The 'True' parameter indicates that the content signed is not ' included in the signature string. s = Signobj.Sign(Signer, True) Open App.Path & "\" & OutputFileName For Output As #2 Write #2, s Close #2 MsgBox ("Signature done - Saved to file" & OutputFileName) Set Signobj = Nothing Set MyStore = Nothing Set Signer = Nothing Set SigningTime = Nothing Exit Sub ErrorHandler: If Err.Number > 0 Then MsgBox ("Visual Basic error found:" & Err.Description) Else MsgBox ("CAPICOM error found : " & Err.Number) End If End Sub 

Справочник по CAPICOM

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

COM-клиент CAPICOM предоставляет службы, позволяющие разработчикам приложений добавлять в приложения безопасность на основе шифрования . CryptoAPI включает функции для проверки подлинности с помощью цифровых подписей, для обволакивающих сообщений, а также для шифрования и расшифровки данных.

Категория Описание
Объекты хранилища сертификатов Объекты, доступные для использования хранилищ сертификатов и сертификатов в этих хранилищах.
Объекты цифровой подписи Объекты, используемые для цифровой подписи данных и проверки цифровых подписей.
Объекты данных в оболочке Объекты, используемые для создания сообщений с запечатанными данными для обеспечения конфиденциальности и расшифровки данных в конвертированных сообщениях.
Объекты шифрования данных Объекты, используемые для шифрования данных и расшифровки зашифрованных данных.
Вспомогательные объекты Объекты, используемые для изменения поведения по умолчанию и управления сертификатами, хранилищами сертификатов и сообщениями пользовательского интерфейса.
Интерфейсы взаимодействия Интерфейсы, позволяющие производным от CryptoAPI работать вместе с CAPICOM 2.0.
Типы перечисления Типы перечисления, используемые с CAPICOM.

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

Следующие объекты работают с хранилищами сертификатов и сертификатами в этих хранилищах. CAPICOM поддерживает использование хранилищ сертификатов текущего пользователя, локального компьютера, памяти и Active Directory.

Объект Описание
Сертификат Один цифровой сертификат.
CertificatePolicies Коллекция объектов PolicyInformation .
Сертификаты Коллекция объектов Certificate .
CertificateStatus Предоставляет сведения о состоянии сертификата.
Цепи Создает и проверяет цепочку проверки сертификатов на основе цифрового сертификата.
ExtendedProperties Представляет коллекцию объектов ExtendedProperty .
ExtendedProperty Представляет расширенное свойство Майкрософт.
Расширение Представляет одно расширение сертификата.
Расширения Представляет коллекцию объектов Extension .
PrivateKey Представляет закрытый ключ.
PublicKey Представляет открытый ключ в объекте Certificate .
Магазин Предоставляет свойства и методы для выбора, управления и использования хранилищ сертификатов и сертификатов в этих хранилищах.
Шаблон Представляет шаблон расширения сертификата.

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

Следующие объекты экспортируются в данные цифровой подписи и для проверки цифровых подписей.

Объект Описание
SignedCode Предоставляет функциональные возможности для подписывания содержимого цифровой подписью Authenticode.
SignedData Объект, используемый для подписывания данных и проверки подписи на подписанных данных.
Автор подписи Сведения об одном подписании данных, включая сертификат подписывающего.
Подписыватели Коллекция объектов Signer .

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

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

Объект Описание
EnvelopedData Объекты, используемые для создания, отправки и получения запечатанных данных. Зашифрованные данные шифруются таким образом, что только предполагаемые получатели могут расшифровать их.
Recipients Коллекция объектов Certificate предполагаемых получателей конвертированного сообщения.

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

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

Объект Описание
EncryptedData Объекты, используемые для шифрования данных. Зашифрованные данные в объекте EncryptedData можно расшифровать.

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

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

Объект Описание
Алгоритм Задает алгоритм и длину ключа для использования в криптографических операциях.
attribute Предоставляет одну часть добавленных сведений о подписи, например время подписи.
Атрибуты Коллекция объектов Attribute .
BasicConstraints Предоставляет доступ только для чтения к основным ограничениям на использование сертификата.
EKU Предоставляет доступ к свойствам EKU сертификатов.
EKU Коллекция объектов EKU .
EncodedData Представляет блок закодированных данных.
ExtendedKeyUsage Предоставляет доступ только для чтения к свойствам расширенного использования ключа сертификатов.
HashedData Предоставляет функциональные возможности для применения хэш-алгоритма к строке.
KeyUsage Предоставляет доступ только для чтения к свойствам использования ключей сертификатов.
OID Представляет идентификатор объекта, используемый несколькими свойствами CAPICOM.
Идентификаторы OID Представляет коллекцию объектов OID .
PolicyInformation Предоставляет доступ к идентификаторам OID политики расширения.
Квалификатор Представляет указатель заявления о сертификации (CPS) или квалификатор уведомления пользователя.
Квалификаторы Представляет коллекцию квалификаторов.
Параметры Включает или отключает диалоговые окна для запроса удостоверения подписателя или отправителя, если это удостоверение не указано.
Служебные программы Предоставляет функциональные возможности для распространенных задач.

Интерфейсы взаимодействия

Следующие интерфейсы позволяют производным от CryptoAPI работать вместе с CAPICOM 2.0.

Интерфейс Описание
ICertContext Предоставляет доступ к контексту объекта сертификата CAPICOM X.509v3. Этот контекст позволяет использовать сертификат CAPICOM в других производных от CryptoAPI.
ICertStore Предоставляет доступ к контексту объекта CAPICOM Store . Этот контекст позволяет использовать хранилище сертификатов CAPICOM в других производных от CryptoAPI.
IChainContext Предоставляет доступ к контексту объекта CAPICOM Chain . Этот контекст позволяет использовать цепочку доверия сертификатов CAPICOM в других производных от CryptoAPI.

Типы перечисления

CAPICOM определяет следующие типы перечисления:

При подготовке материала использовались источники:
https://learn.microsoft.com/ru-ru/windows/win32/seccrypto/using-capicom
https://learn.microsoft.com/ru-ru/windows/win32/seccrypto/signing-a-document
https://learn.microsoft.com/ru-ru/windows/win32/seccrypto/capicom-reference

Оцените статью