Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

14 Страницы«<23456>»
Опции
К последнему сообщению К первому непрочитанному
Offline SeregaZ  
#31 Оставлено : 5 августа 2012 г. 4:23:08(UTC)
SeregaZ

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

а... то есть PFXImportCertStore подходит, просто полученный им результат еще нужно дополнительно "распаковать" используя CertEnumCertificatesInStore и только после этого использовать CertAddCertificateContextToStore?

то есть в итоге очередность использования:
PFXImportCertStore
CertEnumCertificatesInStore
CertOpenStore
CertAddCertificateContextToStore
CertCloseStore

правильно я понимаю?
Offline SeregaZ  
#32 Оставлено : 5 августа 2012 г. 4:51:15(UTC)
SeregaZ

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

ух ты... заработало... правда не сразу :)

так! а порядок этих сертификатов внутри RSA.p12 всегда один и тот-же?
поясняю: мне при первом запуске выдало не тот сертификат. я взял чуток переиначил сделал так:
pCert = CertEnumCertificatesInStore_(hStore, #Null)
pCert = CertEnumCertificatesInStore_(hStore, pCert)
второй тот что нужен. но может это часный случай и в других сертификатах будет как попало. можно каким-то образом читать название или понятное имя или еще что-то? это чтобы не ошибиться с импортом... а то чтонить не то заимпортирую...

и чего за недразумение - в гуглхроме ссылка на мсдн не открывается. запускаю эксплорер - пожалста. все доступно. вот гады...

Отредактировано пользователем 5 августа 2012 г. 4:55:43(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#33 Оставлено : 5 августа 2012 г. 5:32:49(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,839
Мужчина
Российская Федерация

Сказал «Спасибо»: 584 раз
Поблагодарили: 2319 раз в 1817 постах
SeregaZ написал:
а... то есть PFXImportCertStore подходит, просто полученный им результат еще нужно дополнительно "распаковать" используя CertEnumCertificatesInStore и только после этого использовать CertAddCertificateContextToStore?
правильно я понимаю?


Т.е. даже не прочитал, что делает\возвращает PFXImportCertStore ?

Коллекция (хранилище) сертификатов - из нее можно построить цепочку сертификации (по идентификатору ключа ЦС), далее импортировать нужные сертификаты в нужное место (root\ca\my)

SeregaZ написал:

можно каким-то образом читать название или понятное имя или еще что-то? это чтобы не ошибиться с импортом..


Смотреть свойства каждого сертификата при переборе


SeregaZ написал:

и чего за недразумение - в гуглхроме ссылка на мсдн не открывается. запускаю эксплорер - пожалста. все доступно. вот гады...

p.s. в гуглхроме у меня все открывается ...

Отредактировано пользователем 5 августа 2012 г. 5:42:47(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#34 Оставлено : 5 августа 2012 г. 5:36:25(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,839
Мужчина
Российская Федерация

Сказал «Спасибо»: 584 раз
Поблагодарили: 2319 раз в 1817 постах
SeregaZ написал:
ух ты... заработало... правда не сразу :)

так! а порядок этих сертификатов внутри RSA.p12 всегда один и тот-же?
поясняю: мне при первом запуске выдало не тот сертификат


Частный случай - только сертификат пользователя.
Все зависит от флага (включить по возможности все сертификаты) при экспорте в pfx
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#35 Оставлено : 5 августа 2012 г. 5:45:45(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,839
Мужчина
Российская Федерация

Сказал «Спасибо»: 584 раз
Поблагодарили: 2319 раз в 1817 постах
+
CERT_CONTEXT structure
- PCERT_INFO pCertInfo;
-
Цитата:
struct _CERT_INFO {
DWORD dwVersion;
CRYPT_INTEGER_BLOB SerialNumber;
CRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithm;
CERT_NAME_BLOB Issuer;
FILETIME NotBefore;
FILETIME NotAfter;
CERT_NAME_BLOB Subject;
CERT_PUBLIC_KEY_INFO SubjectPublicKeyInfo;
CRYPT_BIT_BLOB IssuerUniqueId;
CRYPT_BIT_BLOB SubjectUniqueId;
DWORD cExtension;
PCERT_EXTENSION rgExtension;
} CERT_INFO, *PCERT_INFO;


Цитата:
IssuerUniqueId
A BLOB that contains a unique identifier of the issuer.
SubjectUniqueId
A BLOB that contains a unique identifier of the subject.



или обойтись информацией из Issuer

Отредактировано пользователем 5 августа 2012 г. 5:47:49(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline SeregaZ  
#36 Оставлено : 5 августа 2012 г. 5:53:32(UTC)
SeregaZ

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

CertGetNameString не подойдет?

Отредактировано пользователем 5 августа 2012 г. 5:58:54(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#37 Оставлено : 5 августа 2012 г. 5:57:44(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,839
Мужчина
Российская Федерация

Сказал «Спасибо»: 584 раз
Поблагодарили: 2319 раз в 1817 постах
SeregaZ написал:
CertGetNameString не подойдет?


пробуй Anxious

SUBJECT_SIMPLE_NAME = CertGetNameString (...CERT_NAME_SIMPLE_DISPLAY_TYPE..0.);
ISSUER_SIMPLE_NAME = CertGetNameString (...CERT_NAME_SIMPLE_DISPLAY_TYPE... CERT_NAME_ISSUER_FLAG ... );

Отредактировано пользователем 5 августа 2012 г. 6:12:44(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline SeregaZ  
#38 Оставлено : 5 августа 2012 г. 5:59:33(UTC)
SeregaZ

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.06.2012(UTC)
Сообщений: 65
Откуда: Almaty, KZ

хотя момент! тут в свойствах сертификата есть такой пункт:
UserPostedImage
первый как раз что не нужен, а второй получается выходит из первого - может всетаки это правило что тот что нужен всегда идет вторым?

CertGetNameString все равно вываливается с ошибкой... типы переменных, сами переменные - опять голову сломаешь...
Offline Андрей Писарев  
#39 Оставлено : 5 августа 2012 г. 6:01:41(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,839
Мужчина
Российская Федерация

Сказал «Спасибо»: 584 раз
Поблагодарили: 2319 раз в 1817 постах
SeregaZ написал:
хотя момент! тут в свойствах сертификата есть такой пункт:
UserPostedImage
первый как раз что не нужен, а второй получается выходит из первого - может всетаки это правило что тот что нужен всегда идет вторым?

CertGetNameString все равно вываливается с ошибкой... типы переменных, сами переменные - опять голову сломаешь...


Сделай эксперимент - экспортируй в pfx без цепочки ...

P.s. а если будет промежуточный ЦС... его будешь в My устанавливать? Anxious

SeregaZ написал:

первый как раз что не нужен

а если его не будет в доверенных корневых (чистая машина)? в браузере потом не возникнет проблем (в той ИС, где требуется... )?

Отредактировано пользователем 5 августа 2012 г. 6:14:41(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#40 Оставлено : 5 августа 2012 г. 6:08:46(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,839
Мужчина
Российская Федерация

Сказал «Спасибо»: 584 раз
Поблагодарили: 2319 раз в 1817 постах
SeregaZ написал:


CertGetNameString все равно вываливается с ошибкой... типы переменных, сами переменные - опять голову сломаешь...


Так все равно вроде не первый месяц голову ломаешь... еще все воскресенье впереди и далее ...
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
14 Страницы«<23456>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.