Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
15 / 13 / 5
Регистрация: 22.07.2015
Сообщений: 251

Получение данных с сертификата

29.08.2022, 16:37. Показов 2228. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача: есть сертификат установленный в системе требуется получить данные с этого сертификата.

Delphi
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
Uses Soap.Win.CertHelper;
function  Cert_info(Number:AnsiString);
var
   hStore : HCERTSTORE;
   PrevContext : PCERT_CONTEXT;
   pCert : PCERT_CONTEXT;
   SN,SB : _CRYPTOAPI_BLOB;
   Subject : String;
   pSubject : PChar;
   Size : longint;
   CERTHEX:String;
begin
  hStore := Soap.Win.CertHelper.CertOpenSystemStore(0,'MY');  //хранилище сертификатов.
  if not ((hStore<>Nil))
    then sError := 'Не найдено хранилище сертификатов'
    else 
      begin
      PrevContext := Nil;
      pCert := Soap.Win.CertHelper.CertEnumCertificatesInStore(hStore,PrevContext);
      while (pCert<>Nil) do 
        begin
        //сертификат в HEX.
        CertHEX='';
        if pCert.cbCertEncoded>0 then    
          for i:=0 to pCert.cbCertEncoded-1
            CertHEX:=CertHEX+sysutils.IntToHex(pCert.pbCertEncoded[i],2);
        //серийный номер
        SerialNumber := '';
        SN := pCert^.pCertInfo^.SerialNumber;
        if SN.cbData>0 then 
          for i:=SN.cbData-1 downto 0 do
            SerialNumber := SerialNumber+sysutils.IntToHex(SN.pbData[i],2);
        //субъект.
        Subject :='';
        SB := pCert^.pCertInfo^.Subject;
{      
        1. Если ли способ получить данные с адреса SB.pbData имеющего размер SB.сbData кроме ниже описанного?
}
{
        //нашел только такой способ получения данных.
        encType := PKCS_7_ASN_ENCODING or X509_ASN_ENCODING;
        pSubject := sysutils.StrAlloc(512);
        Size := Soap.Win.CertHelper.CertNameToStr(encType,@SB,CERT_X500_NAME_STR,pSubject,512);
        Subject=pSubject;
}      
{
        2. В каком поле хранится отпечаток сертификата?
}
        PrevContext := pCert;
        pCert := Soap.Win.CertHelper.CertEnumCertificatesInStore(hStore,PrevContext);
        end;
      Soap.Win.CertHelper.CertCloseStore(hStore,CERT_CLOSE_STORE_CHECK_FLAG);
      end;
end;
1. Если ли способ получить субъекта с адреса pCert^.pCertInfo^.Subject.pbData имеющего размер pCert^.pCertInfo^.Subject.сbData?
2. В каком поле хранится отпечаток сертификата и как его получить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.08.2022, 16:37
Ответы с готовыми решениями:

Получение данных из файла сертификата
Добрый день, возникла нужда в получении открытого ключа сертификата которым подписан программный продукт. И желательно реализовать это на...

Получение данных из файла сертификата
Есть Unit программного получения серийного номера из сертификата ЭЦП: unit Unit1; interface uses Windows, Messages,...

Получение сертификата VB по интернету
Слышал, что по инету можно получить сертификат, не подскажите ссылки. Спасибо.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.08.2022, 16:37
Помогаю со студенческими работами здесь

Получение сертификата https на сервер
Пиплы, возникла трабля по защите интересов клиентов в простенькой билинговой системе. Смысл ее в том, что клиент предоплачивает услуги...

RSA PRIVATE KEY. Получение сертификата X509Certificate2
Есть .pem файл -----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAgwDcIpd1gEkVx/6lYne0djnRib+jFH9iqyk8fYSgsAjyMO4S ...

Получение сертификата сервера сертификации MS windows 2003
Добрый день. Не могу получить сертификат. Делал всё по мануалу...

Получение Ssl на сайт bitrix centos. Ошибка сертификата
В общем у меня есть сайт с 2 мя доменами .com .ru, пытался поставить сертификат ставил бесплатный через cerbot. В итоге теперь при переходе...

КриптоПро, создание/получение сертификата и ключа, простановка подписи на PDF
Привет. Ни когда не работал с КриптоПро, скажите пожалуйста, у меня нет ничего сейчас. Нужно создать ключ, с помощью которого нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru