Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / CryptoAPI и пин-коды на контейнерах КриптоПРО / 1 сообщений из 1, страница 1 из 1
27.12.2021, 02:36
    #40123247
genok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CryptoAPI и пин-коды на контейнерах КриптоПРО
всем привет!
возникла проблема с определением запароленности контейнеров КриптоПРО
изначально задача в подписании ЭЦП ПДФ файла с помощью плагина КриптоПро ПДФ
он для подписания требует сертификат в 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
Форумы / Delphi [игнор отключен] [закрыт для гостей] / CryptoAPI и пин-коды на контейнерах КриптоПРО / 1 сообщений из 1, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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