Если не трудно, подтолкните в правильном направлении.Есть экспортированный из msie сертификат (DER).
Хочу использовать его как клиентский сертификат.1. конвертирую в PEM
openssl x509 -inform DER -in test.cer -addtrust clientAuth -out test.pem -outform PEM
2. Пытаюсь с ним коннектиться к серверу:
openssl s_client -connect www.site.ru:443 -cert 5.pem
получаю
49215:error:0906D06C:PEM routines:PEM_read_bio:no start
line:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/pem/pem_lib.c:663:Expecting: CERTIFICATE
49215:error:140AD009:SSL routines:SSL_CTX_use_certificate_file:missing asn1
eos:/usr/src/secure/lib/libssl/../../../crypto/openssl/crypto/../ssl/ssl_rsa.c:534:Пробовал стирать TRUSTED (-----BEGIN TRUSTED CERTIFICATE-----)
пишет expecting ANY PRIVATE KEY.Очевидно я чего-то сильно не понимаю. Нужно ли еще как-то
подписывать/конвертировать файл сертификата, экспортированный из MSIE
перед использованием?
>Если не трудно, подтолкните в правильном направлении.
>
>Есть экспортированный из msie сертификат (DER).
>Хочу использовать его как клиентский сертификат.
>
>1. конвертирую в PEM
>
>openssl x509 -inform DER -in test.cer -addtrust clientAuth -out test.pem -outform PEM-addtrust clientAuth а без этого?
>
>
>2. Пытаюсь с ним коннектиться к серверу:
>
>openssl s_client -connect www.site.ru:443 -cert 5.pem
>
>получаю
>
>49215:error:0906D06C:PEM routines:PEM_read_bio:no start
>line:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/pem/pem_lib.c:663:Expecting: CERTIFICATE
>49215:error:140AD009:SSL routines:SSL_CTX_use_certificate_file:missing asn1
>eos:/usr/src/secure/lib/libssl/../../../crypto/openssl/crypto/../ssl/ssl_rsa.c:534:
>что показывает openssl s_client -connect www.site.ru:443 -state?
>Пробовал стирать TRUSTED (-----BEGIN TRUSTED CERTIFICATE-----)
>пишет expecting ANY PRIVATE KEY.
>это делать не стоит.
>Очевидно я чего-то сильно не понимаю. Нужно ли еще как-то
>подписывать/конвертировать файл сертификата, экспортированный из MSIE
>перед использованием?
рекомендую почитать: http://samag.ru/img/uploaded/2003/1/l1.pdf
"теория и практика openssl"
какой имеено сертификат? der x509 или der base64? они оба в винде называются cer. кроме того, некоторые сертификаты (например для банк-клиентов) дополняются некими значениями.проще поступить так: в винде во вкладках безопасности найти этот сертификат и импортировать в der x509, а далее стандартно.
>-addtrust clientAuth а без этого?то же самое
>что показывает openssl s_client -connect www.site.ru:443 -state?
no peer certificate
>
>>Пробовал стирать TRUSTED (-----BEGIN TRUSTED CERTIFICATE-----)
>>пишет expecting ANY PRIVATE KEY.
>>
>
>это делать не стоит.понял :)
>рекомендую почитать: http://samag.ru/img/uploaded/2003/1/l1.pdf
>"теория и практика openssl"
>cпасибо, гляну
>какой имеено сертификат? der x509 или der base64? они оба в винде
>называются cer. кроме того, некоторые сертификаты (например для банк-клиентов) дополняются некими
>значениями.x509
>проще поступить так: в винде во вкладках безопасности найти этот сертификат и
>импортировать в der x509, а далее стандартно.в том-то и дело, что мне его из винды надо экспортировать, а не
импортировать. Далее использовать для ссл'ного клиента.
Попробовал еще раз:1. Экспорт из эксплорера в виде DER X509 (в файл 1.der)
2. Конвертирую в PEM (openssl x509 -in 1.der -out 1.pem -inform DER -outform PEM)
3. Тестирую коннект
openssl s_client -connect www.site.ru:443 -state -prexit
CONNECTED(00000003)
SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
23163:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:/usr/src/secure/lib/libssl/../../../crypto/openssl/crypto/../ssl/s23_lib.c:228:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 124 bytes
---
New, (NONE), Cipher is (NONE)
---4. Пытаюсь подсунуть файл сертификата:
openssl s_client -connect www.site.ru:443 -cert 1.pem
unable to get private key from '1.pem'
22987:error:0906D06C:PEM routines:PEM_read_bio:no start line:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/pem/pem_lib.c:663:Expecting: ANY PRIVATE KEY
22987:error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:missing asn1 eos:/usr/src/secure/lib/libssl/../../../crypto/openssl/crypto/../ssl/ssl_rsa.c:707:
>Попробовал еще раз:
>
>1. Экспорт из эксплорера в виде DER X509 (в файл 1.der)
>
>2. Конвертирую в PEM (openssl x509 -in 1.der -out 1.pem -inform DER
>-outform PEM)
>
>3. Тестирую коннект
>
>openssl s_client -connect www.site.ru:443 -state -prexit
>CONNECTED(00000003)
>SSL_connect:before/connect initialization
>SSL_connect:SSLv2/v3 write client hello A
>23163:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:/usr/src/secure/lib/libssl/../../../crypto/openssl/crypto/../ssl/s23_lib.c:228:
>---
>no peer certificate available
>---
!!!!!сайт, с которым вы собираетесь устанавливать доверенные отношения при помощи сертификатов, не имеет своего сертификата. дальнейшие попытки бесполезны.
!!!!!
>No client certificate CA names sent
>---
>SSL handshake has read 0 bytes and written 124 bytes
>---
>New, (NONE), Cipher is (NONE)
>---
>
>4. Пытаюсь подсунуть файл сертификата:
>
>openssl s_client -connect www.site.ru:443 -cert 1.pem
>unable to get private key from '1.pem'
>22987:error:0906D06C:PEM routines:PEM_read_bio:no start line:/usr/src/secure/lib/libcrypto/../../../crypto/openssl/crypto/pem/pem_lib.c:663:Expecting: ANY PRIVATE KEY
>22987:error:140B0009:SSL routines:SSL_CTX_use_PrivateKey_file:missing asn1 eos:/usr/src/secure/lib/libssl/../../../crypto/openssl/crypto/../ssl/ssl_rsa.c:707:
>
>
>сайт, с которым вы собираетесь устанавливать доверенные отношения при помощи сертификатов, не
>имеет своего сертификата. дальнейшие попытки бесполезны.Не совсем так. Клиент не может проверить подлинность сертификата сервера.
Надо s_client-у указать CA сертификат(ы) по которым он сможет проверить подлиность сертификата сервера и выстроить client certificate chain.
Ключи -CAfile -CApath