Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Какое имя имя контейнера при установке сертификата?
Статус: Активный участник
Группы: Участники
Зарегистрирован: 13.03.2019(UTC) Сообщений: 79 Сказал(а) «Спасибо»: 4 раз
|
Устанавливаю программно сертификат: Код: BOOL AddScardKey(std::wstring keyName, DWORD dwProvType, std::wstring wsCert, std::wstring wsContainerName, std::wstring wsProvName)
{
// Декодировать сертификат
std::vector<BYTE> data = Base64::decode(WC2MB(wsCert));
AutoCERTCNTXT pCertContext = CertCreateCertificateContext(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, data.data(), data.size());
char provName[1024]; // имя криптопровайдера
DWORD wDataLen = 1024; // длина имени криптопровайдера
// Заполняем структуру
CRYPT_KEY_PROV_INFO prov_info;
ZeroMemory(&prov_info, sizeof(prov_info));
prov_info.pwszContainerName = const_cast<wchar_t*>(wsContainerName.data());
prov_info.pwszProvName = const_cast<wchar_t*>(wsProvName.data());
prov_info.dwKeySpec = AT_KEYEXCHANGE;
prov_info.dwProvType = dwProvType;
// Устанавливаем свойство сертификата (тут проставляется ссылка на закрытый ключ)
if (!CertSetCertificateContextProperty(pCertContext, CERT_KEY_PROV_INFO_PROP_ID, 0, &prov_info)) return false;
// Открываем личное хранилище
AutoCERTSTORE hCertStore = CertOpenStore(CERT_STORE_PROV_SYSTEM, 0, NULL, CERT_SYSTEM_STORE_CURRENT_USER, L"MY");
if (!hCertStore) return false;
// Устанавливаем сертификат в Личное хранилище
if (!CertAddCertificateContextToStore(hCertStore, pCertContext, CERT_STORE_ADD_REPLACE_EXISTING, NULL)) return false;
return true;
}
Какое значение указывать в pwszContainerName? Если программно взять имя контейнера, то получается что то вроде: SCARD\rutoken_ecp_36be7985\0A00\D370 Его полностью указывать или нужно оставить только rutoken_ecp_36be7985? Спасибо.
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Какое имя имя контейнера при установке сертификата?
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close