URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 3513
[ Назад ]

Исходное сообщение
"Как с openssl подписать файл включив туда сериификат?"

Отправлено Вячеслав , 30-Окт-07 07:59 
Как с помощью openssl подписть файл ЭЦП, включив туда сертификат?
Под виндой это делается, стандартная функция. С openssl генрируется подпись с помощью закрытого ключа, а как включть туда сертификат непонятно.
Смежный вопрос - а как сделать файл с включенной подписью и сертификатом?
Соответственно и как проверять и извлекать такой файл с помощью opennssl?

Содержание

Сообщения в этом обсуждении
"Как с openssl подписать файл включив туда сериификат?"
Отправлено . , 31-Окт-07 11:51 
>Как с помощью openssl подписть файл ЭЦП, включив туда сертификат?
>Под виндой это делается, стандартная функция. С openssl генрируется подпись с помощью
>закрытого ключа, а как включть туда сертификат непонятно.
>Смежный вопрос - а как сделать файл с включенной подписью и сертификатом?
>
>Соответственно и как проверять и извлекать такой файл с помощью opennssl?

ЭЦП в вашем понимании это што pkcs12?


"Как с openssl подписать файл включив туда сериификат?"
Отправлено Вячеслав , 01-Ноя-07 10:18 
>>Как с помощью openssl подписть файл ЭЦП, включив туда сертификат?
>>Под виндой это делается, стандартная функция. С openssl генрируется подпись с помощью
>>закрытого ключа, а как включть туда сертификат непонятно.
>>Смежный вопрос - а как сделать файл с включенной подписью и сертификатом?
>>
>>Соответственно и как проверять и извлекать такой файл с помощью opennssl?
>
>ЭЦП в вашем понимании это што pkcs12?

Вообще думаю, что подпись -это формат PKCS7
pkcs12 - это файл с ключевой информацией, сертификат и ключ в одном флаконе.
тут ксатти тоже сть вопрос :)) Если с openssl сначала генеришь ключ и запрос в сторонний ЦС, получаешь сертификат *.p7b, потом можно его переделать в pem.
Как(можно ли?) объеденить key.pem и cert.pem в один файл? и им подписывать потом?


"Как с openssl подписать файл включив туда сериификат?"
Отправлено andrey , 05-Ноя-07 09:32 

>Как(можно ли?) объеденить key.pem и cert.pem в один файл? и им подписывать
>потом?

pem это и есть объединенный key и cert.


"Как с openssl подписать файл включив туда сериификат?"
Отправлено Вячеслав , 05-Ноя-07 13:55 
>
>>Как(можно ли?) объеденить key.pem и cert.pem в один файл? и им подписывать
>>потом?
>
>pem это и есть объединенный key и cert.

С объединением ключа.pem и сертификата.pem в один pem файл разобрался.
Подписывается командой
openssl smime -sign -inkey cert_key1.pem -signer cert_key1.pem -outform pem -nodetach -in 2.txt -out 2.txt.sig
в файле 2.txt.sig начало и конец такие:
-----BEGIN PKCS7-----
-----END PKCS7-----
Windows утилиты при ( Криптоврм и cryptcp от Криптопро)ругаются на структуру base64. Если заголовок исправить на такой:
----- BEGIN PKCS7 SIGNED -----
----- END PKCS7 SIGNED -----
Криптоарм подпись понимает, а cryptcp продолжает ругатся.
Как же правильно - не понятно.
При этом почему то не могу проверить созданное сообщение  с помощью
openssl smime -verify -inform pem -in 2.txt.sig -signer cert1.pem -out 2.sm.txt
выдает unable to get local issuer certificate
без опций
openssl smime -verify -in 2.txt.sig -out 2.sm.txt
ошибка no content type:pk7_mime
В общем еще ковырятся и ковырятся, если у кого есть работающее взаимодействее - помогите :))


"Хэлп"
Отправлено miig , 05-Янв-10 06:49 
Решил протестировать на обычном компьютере с genoo на борту.
Перекопав немного литературы и следуя последним сообщениям сделал для теста так:
# echo "test file" > 1.txt
# openssl genrsa -out CAkey.pem -rand randfile -des3 4096
# openssl req -new -x509 -key CAkey.pem -out CAcert.pem -days 365 -config cfg
# openssl smime -sign -inkey CAkey.pem -signer CAcert.pem -outform pem -nodetach -in 1.txt -out 1.txt.sig

1)Потом если пробую так:
# openssl smime -verify -inform pem -in 1.txt.sig -signer user.pem -out 1.sm.txt
Выдаёт:
"Verification failure
16575:error:21075075:PKCS7 routines:PKCS7_verify:certificate verify error:pk7_smime.c:244:Verify error:self signed certificate"
2)А если пробую так:
# openssl smime -verify -in 1.txt.sig -out 1.sm.txt
Выдаёт:
"Error reading S/MIME message
16578:error:2107A087:PKCS7 routines:SMIME_read_PKCS7:no content type:pk7_mime.c:296:"

Подскажите в чём проблема.