#include <UnixEnroll.h>
Открытые члены | |
UnixEnroll (const CPEnroll::UserCallbacks &callbacks, bool handlePKCS7=false) | |
Конструктор. | |
~UnixEnroll () | |
Деструктор. | |
virtual HRESULT | put_EnableSMIMECapabilities (bool value) |
Установить атрибуты S/MIME в запрос PKCS#10 (не реализовано). | |
virtual HRESULT | put_UseExistingKeySet (bool value) |
Использовать существующий ключ в контейнере (не реализовано). | |
virtual HRESULT | put_ContainerName (BSTR cName) |
Задать имя контейнера. | |
virtual HRESULT | put_ProviderType (DWORD pType) |
Задать тип CSP для создания ключа. | |
virtual HRESULT | put_ProviderName (BSTR pName) |
Задать имя CSP для создания ключа. | |
virtual HRESULT | put_GenKeyFlags (DWORD keyFlags) |
Задать свойства закрытого ключа. | |
virtual HRESULT | put_RequestStoreFlags (DWORD storeFlags) |
Задать хранилище запроса и флаги его открытия. | |
virtual HRESULT | put_ProviderFlags (DWORD provFlags) |
Задать флаги открытия CSP. | |
virtual HRESULT | put_KeySpec (DWORD _dwKeySpec) |
Задать тип закрытого ключа. | |
virtual HRESULT | put_LimitExchangeKeyToEncipherment (int value) |
Задать ограничения ключа AT_KEYEXCHANGE. | |
virtual HRESULT | put_CAStoreFlags (DWORD flags) |
Задать хранилище промежуточных УЦ и флаги его открытия. | |
virtual HRESULT | put_MyStoreFlags (DWORD flags) |
Задать хранилище сертификатов пользователя и флаги его открытия. | |
virtual HRESULT | put_RootStoreFlags (DWORD flags) |
Задать доверенное хранилище корневых сертификатов и флаги его открытия. | |
virtual HRESULT | put_MyStoreName (BSTR name) |
Задать имя хранилища сертификатов пользователя. | |
virtual HRESULT | put_DeleteRequestCert (bool value) |
Требуется ли удалять псевдосертификат в хранилище запросов на сертификат. | |
virtual HRESULT | put_WriteCertToCSP (bool value) |
Требуется ли устанавливать сертификат в ключевой контейнер. | |
virtual HRESULT | put_PIN (const CSecurePin &pin) |
Задать PIN (пароль) контейнера. | |
virtual HRESULT | put_SupressAddRootUI (bool value) |
Не запрашивать подтверждения при установке корневого сертификата в хранилище доверенных сертификатов. | |
virtual HRESULT | addExtensionToRequest (LONG flags, BSTR name, BSTR value) |
Добавить расширение в запрос на сертификат. | |
virtual HRESULT | get_InstallToContainerStatus (DWORD *pdwStatus) |
Возвращает код ошибки при установке сертификата в контейнер. | |
virtual HRESULT | createPKCS10 (BSTR rdn, BSTR usage, BSTR *request) |
Создать запрос PKCS#10. | |
virtual HRESULT | createRequest (LONG flags, BSTR rdn, BSTR usage, BSTR *request) |
Создать запрос сертификат. | |
virtual HRESULT | acceptPKCS7 (BSTR msg) |
Обработка PKCS#7 ответа от УЦ. | |
virtual HRESULT | installPKCS7 (BSTR msg) |
Установить сертификат или цепочку сертификатов PKCS#7. | |
HRESULT | installPKCS7Ex (BSTR msg, LONG *plCertInstalled) |
Установить сертификат или цепочку сертификатов PKCS#7. |
Является урезанным аналогом ICertEnroll из Microsoft CryptoAPI.
UnixEnroll::UnixEnroll | ( | const CPEnroll::UserCallbacks & | callbacks, | |
bool | handlePKCS7 = false | |||
) |
Конструктор.
callbacks | [in] Функции запроса у пользователя | |
handlePKCS7 | [in] В данной версии не используется |
HRESULT UnixEnroll::acceptPKCS7 | ( | BSTR | msg | ) | [virtual] |
Обработка PKCS#7 ответа от УЦ.
msg | [in] PKCS#7 сообщение, закодированное в BASE64. Содержит сертификат или цепочку сертификатов, соответствующую запросу |
По умолчанию используются хранилища: MY, CA, ROOT и REQUEST, однако пользователь может изменить имена с помощью следующих методов:
virtual HRESULT UnixEnroll::addExtensionToRequest | ( | LONG | flags, | |
BSTR | name, | |||
BSTR | value | |||
) | [inline, virtual] |
Добавить расширение в запрос на сертификат.
flags | [in] Является ли расширение критичным (critical) | |
name | [in] OID расширения | |
value | [in] Расширение, закодированное в BASE64 |
virtual HRESULT UnixEnroll::createPKCS10 | ( | BSTR | rdn, | |
BSTR | usage, | |||
BSTR * | request | |||
) | [inline, virtual] |
Создать запрос PKCS#10.
rdn | [in] Уникальное имя (DN) владельца ключа | |
usage | [in] Список OID расширенного использования ключа (Extended Key Usage (EKU)) | |
request | [out] Запрос, закодированный в BASE64 |
Полученная BSTR строка запроса должна быть освобождена функцией SysFreeString()
virtual HRESULT UnixEnroll::createRequest | ( | LONG | flags, | |
BSTR | rdn, | |||
BSTR | usage, | |||
BSTR * | request | |||
) | [inline, virtual] |
Создать запрос сертификат.
flags | [in] Тип запроса на сертификат | |
rdn | [in] Уникальное имя (DN) владельца ключа | |
usage | [in] Список OID расширенного использования ключа (Extended Key Usage (EKU)) | |
request | [out] Запрос, закодированный в BASE64 |
Добавляет расширения, заданные методом addExtensionToRequest()
Полученная BSTR строка запроса должна быть освобождена функцией SysFreeString()
virtual HRESULT UnixEnroll::get_InstallToContainerStatus | ( | DWORD * | pdwStatus | ) | [inline, virtual] |
Возвращает код ошибки при установке сертификата в контейнер.
pdwStatus | [out] код ошибки при установке сертификата в контейнер |
S_OK | успешно (в pdwStatus скопирован код ошибки) | |
E_INVALIDARG | pdwStatus был не задан (==NULL) |
HRESULT UnixEnroll::installPKCS7 | ( | BSTR | msg | ) | [virtual] |
Установить сертификат или цепочку сертификатов PKCS#7.
Метод installPKCS7 в отличии от acceptPKCS7 не предназначен для установки сертификатов, выпущенных по запросу пользователя. Он предназанчен просто для установки сертификата или цепочки в стандартные хранилища сертификатов.
msg | [in] PKCS#7 сообщение, закодированное в BASE64, которое содержит сертификат или цепочку |
S_OK | успешно | |
ERROR_CANCELLED | операция прервана пользователем |
HRESULT UnixEnroll::installPKCS7Ex | ( | BSTR | msg, | |
LONG * | plCertInstalled | |||
) |
Установить сертификат или цепочку сертификатов PKCS#7.
Метод installPKCS7Ex в отличии от acceptPKCS7 не предназначен для установки сертификатов, выпущенных по запросу пользователя. Он предназанчен просто для установки сертификата или цепочки в стандартные хранилища сертификатов.
msg | [in] PKCS#7 сообщение, закодированное в BASE64, которое содержит сертификат или цепочку | |
plCertInstalled | [out] число сертификатов, установленных в локальные хранилища |
S_OK | успешно | |
ERROR_CANCELLED | операция прервана пользователем |
virtual HRESULT UnixEnroll::put_CAStoreFlags | ( | DWORD | flags | ) | [inline, virtual] |
Задать хранилище промежуточных УЦ и флаги его открытия.
Значение по умолчанию CERT_SYSTEM_STORE_CURRENT_USER.
flags | [in] Флаги открытия хранилища. |
virtual HRESULT UnixEnroll::put_ContainerName | ( | BSTR | cName | ) | [inline, virtual] |
Задать имя контейнера.
Если имя контейнера не задано, то оно генерируется как случайный GUID.
cName | [in] Имя контейнера. |
virtual HRESULT UnixEnroll::put_DeleteRequestCert | ( | bool | value | ) | [inline, virtual] |
Требуется ли удалять псевдосертификат в хранилище запросов на сертификат.
Значение по умолчанию true.
value | [in] Требуется ли удалять. |
virtual HRESULT UnixEnroll::put_EnableSMIMECapabilities | ( | bool | value | ) | [inline, virtual] |
Установить атрибуты S/MIME в запрос PKCS#10 (не реализовано).
value | [in] true - установить. |
virtual HRESULT UnixEnroll::put_GenKeyFlags | ( | DWORD | keyFlags | ) | [inline, virtual] |
Задать свойства закрытого ключа.
По умолчанию экспорт закрытого ключа запрещён. Для его разрешения следует использовать флаг CRYPT_EXPORTABLE.
keyFlags | [in] Флаги создания закрытого ключа. |
virtual HRESULT UnixEnroll::put_KeySpec | ( | DWORD | _dwKeySpec | ) | [inline, virtual] |
Задать тип закрытого ключа.
_dwKeySpec | [in] Тип закрытого ключа. |
Смотри также описания CPGenKey() и CryptGenKey().
virtual HRESULT UnixEnroll::put_LimitExchangeKeyToEncipherment | ( | int | value | ) | [inline, virtual] |
Задать ограничения ключа AT_KEYEXCHANGE.
value | [in] Ограничения ключа AT_KEYEXCHANGE. |
Если значения свойства 0 (false), то запрос содержит следующие значение KeyUsage:
Если значения свойства не 0 (true), то запрос содержит следующие значение KeyUsage:
virtual HRESULT UnixEnroll::put_MyStoreFlags | ( | DWORD | flags | ) | [inline, virtual] |
Задать хранилище сертификатов пользователя и флаги его открытия.
Значение по умолчанию CERT_SYSTEM_STORE_CURRENT_USER.
flags | [in] Флаги открытия хранилища. |
virtual HRESULT UnixEnroll::put_MyStoreName | ( | BSTR | name | ) | [inline, virtual] |
Задать имя хранилища сертификатов пользователя.
Значение по умолчанию "My".
name | [in] Имя хранилища. |
virtual HRESULT UnixEnroll::put_PIN | ( | const CSecurePin & | pin | ) | [inline, virtual] |
Задать PIN (пароль) контейнера.
Значение по умолчанию не задано.
pin | [in] PIN (пароль) контейнера. |
virtual HRESULT UnixEnroll::put_ProviderFlags | ( | DWORD | provFlags | ) | [inline, virtual] |
Задать флаги открытия CSP.
Значение по умолчанию 0.
provFlags | [in] Флаги открытия CSP. |
virtual HRESULT UnixEnroll::put_ProviderName | ( | BSTR | pName | ) | [inline, virtual] |
Задать имя CSP для создания ключа.
Определяет CSP, в котором создаётся закрытый ключ.
pName | [in] Имя CSP. |
virtual HRESULT UnixEnroll::put_ProviderType | ( | DWORD | pType | ) | [inline, virtual] |
Задать тип CSP для создания ключа.
Тип CSP определяет алгоритм закрытого ключа.
pType | [in] Тип CSP. |
virtual HRESULT UnixEnroll::put_RequestStoreFlags | ( | DWORD | storeFlags | ) | [inline, virtual] |
Задать хранилище запроса и флаги его открытия.
Значение по умолчанию CERT_SYSTEM_STORE_CURRENT_USER.
storeFlags | [in] Флаги открытия хранилища. |
virtual HRESULT UnixEnroll::put_RootStoreFlags | ( | DWORD | flags | ) | [inline, virtual] |
Задать доверенное хранилище корневых сертификатов и флаги его открытия.
Значение по умолчанию CERT_SYSTEM_STORE_CURRENT_USER.
flags | [in] Флаги открытия хранилища. |
virtual HRESULT UnixEnroll::put_SupressAddRootUI | ( | bool | value | ) | [inline, virtual] |
Не запрашивать подтверждения при установке корневого сертификата в хранилище доверенных сертификатов.
Значение по умолчанию - false.
value | [in] PIN (пароль) контейнера. |
HRESULT UnixEnroll::put_UseExistingKeySet | ( | bool | value | ) | [virtual] |
Использовать существующий ключ в контейнере (не реализовано).
value | [in] true - существующий, false - создать новый. |
virtual HRESULT UnixEnroll::put_WriteCertToCSP | ( | bool | value | ) | [inline, virtual] |
Требуется ли устанавливать сертификат в ключевой контейнер.
Значение по умолчанию false.
value | [in] Требуется ли устанавливать. |
Используется методами:
Смотри также описания CPSetKeyParam() и CryptSetKeyParam().