powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / CryptoAPI и пин-коды на контейнерах КриптоПРО
1 сообщений из 1, страница 1 из 1
CryptoAPI и пин-коды на контейнерах КриптоПРО
    #40123247
genok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет!
возникла проблема с определением запароленности контейнеров КриптоПРО
изначально задача в подписании ЭЦП ПДФ файла с помощью плагина КриптоПро ПДФ
он для подписания требует сертификат в HEX строке и пин-код контейнера.
С сертификатом проблем нет, его получаю с помощью CryptoAPI из личного хранилища сертификатов, вот так:


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
uses WCrypt2........

................
var
  hCertStore: Pointer;
  pCertContext, pSignerCert: PCCERT_CONTEXT;
  subject: string;
begin
  // Open "MY" store
  hCertStore := CertOpenStore(CERT_STORE_PROV_SYSTEM, X509_ASN_ENCODING or PKCS_7_ASN_ENCODING,
                               0, CERT_SYSTEM_STORE_CURRENT_USER, PChar('MY'));

  pCertContext := nil;

  repeat
    pCertContext := CertEnumCertificatesInStore(hCertStore, pCertContext);
    if (pCertContext <> nil) then begin
      pSignerCert := CertDuplicateCertificateContext(pCertContext);

      Memo1.Lines.Add('HEX: ' + GetCertificateHEX2(pSignerCert));
      subject:=DecodeName(pSignerCert^.pCertInfo^.Subject);

      if Assigned(pSignerCert) then CertFreeCertificateContext(pSignerCert);
    end;
  until (pCertContext = nil);



дальше передаю данные плагину, и если контейнер в КрипоПро не запаролен, то подписание проходит нормально.
если запаролен, то естественно ошибка.
Конечно, я могу спрашивать ВСЕХ пользователей об установленном ПИН-коде.
Но хотелось бы спрашивать пользователя ТОЛЬКО в том случае, когда пин-код на контейнере действительно установлен

Есть мысли какие-то, каким способом узнать наличие пина на контейнере КриптоПРО?
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / CryptoAPI и пин-коды на контейнерах КриптоПРО
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]