Комментарии 8
Почему-то когда слышу слово ГОСТ, всегда представляется нечто древнее, сильно устаревшее и скорее всего сделанное через то самое место через которое вам пришлось всё это настраивать.
-1
Нашел для себя некоторые интересные моменты, труд имеет смысл. Но вот скажите, зачем вы пишите «Для того чтобы экспортировать данный сертификат в формате PKSC#12 вместе с закрытым ключом — нам понадобится сторонняя утилита. Которую можно либо купить здесь либо найти на просторах интернета по имени p12fromgostcsp.» ??
Если ключ помечен как экспортируемый, то это действие выполняется через диалог просмотра сертификата -> вкладка «состав» -> Копировать в файл. А если ключ не помечен как экспортируемый, то она ничем не поможет. Бесполезная софтина, на мой взгляд.
Если ключ помечен как экспортируемый, то это действие выполняется через диалог просмотра сертификата -> вкладка «состав» -> Копировать в файл. А если ключ не помечен как экспортируемый, то она ничем не поможет. Бесполезная софтина, на мой взгляд.
0
Не все так просто как кажется на первый взгляд. На самом деле сертификат, экспортируемый через стандартный диалог просмотра сертификата не распознается openssl. Получается такая ошибка:
Вот как раз эта утилита и позволяет избежать такой ошибки. Цитирую разработчиков данной утилиты:
Контейнер PKCS#12, создаваемый утилитой P12FromGostCSP полностью совместим с аналогичными контейнерами, создаваемыми ООО «КриптоКом» (в рамках проекта openssl) и ООО «Топ Кросс», чего, к сожалению, не скажешь о контейнере, создаваемом программными средствами, входящими в состав КриптоПро CSP (начиная с версии R3).
Просмотреть ASN1-структуры контейнера PKCS#12, созданного средствами КриптоПро CSP R3, и контейнеров, созданных другими средствами, удобно утилитами openssl или lirssl следующего вида:
#openssl asn1parse –inform DER –in <контейнер PKCS#12>
Если вы сравните эти структуры, то вам сразу бросится в глаза, что, например, вместо алгоритма хэширования ГОСТ Р 34.11-94 в контейнере от КриптоПро используется SHA1. Еще более интересный результат вы получите, если попробуете посмотреть содержимое контейнера, выполнив следующую команду:
#openssl pkcs12 –in <контейнер PKCS#12>
MAC verified OK
Bag Attributes
localKeyID: 01 00 00 00
friendlyName: REGISTRY\\mstaff
Microsoft CSP Name: Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider
Error outputting keys and certificates
140017040754368:error:06074079:digital envelope routines:EVP_PBE_CipherInit:unknown pbe algorithm:evp_pbe.c:167:TYPE=1.2.840.113549.1.12.1.80
140017040754368:error:23077073:PKCS12 routines:PKCS12_pbe_crypt:pkcs12 algor cipherinit error:p12_decr.c:83:
140017040754368:error:2306A075:PKCS12 routines:PKCS12_item_decrypt_d2i:pkcs12 pbe crypt error:p12_decr.c:130:
Вот как раз эта утилита и позволяет избежать такой ошибки. Цитирую разработчиков данной утилиты:
Контейнер PKCS#12, создаваемый утилитой P12FromGostCSP полностью совместим с аналогичными контейнерами, создаваемыми ООО «КриптоКом» (в рамках проекта openssl) и ООО «Топ Кросс», чего, к сожалению, не скажешь о контейнере, создаваемом программными средствами, входящими в состав КриптоПро CSP (начиная с версии R3).
Просмотреть ASN1-структуры контейнера PKCS#12, созданного средствами КриптоПро CSP R3, и контейнеров, созданных другими средствами, удобно утилитами openssl или lirssl следующего вида:
#openssl asn1parse –inform DER –in <контейнер PKCS#12>
Если вы сравните эти структуры, то вам сразу бросится в глаза, что, например, вместо алгоритма хэширования ГОСТ Р 34.11-94 в контейнере от КриптоПро используется SHA1. Еще более интересный результат вы получите, если попробуете посмотреть содержимое контейнера, выполнив следующую команду:
#openssl pkcs12 –in <контейнер PKCS#12>
0
> вместо алгоритма хэширования ГОСТ Р 34.11-94 в контейнере от КриптоПро используется SHA1
И это сертифицировано в РФ?
И это сертифицировано в РФ?
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Взаимодействие php-soap на linux с авторизацией по сертификатам с использованием алгоритмов ГОСТ