- Клиентский сертификат + openSSL, bass, 06:04 , 31-Авг-04 (1)
>Если не трудно, подтолкните в правильном направлении. > >Есть экспортированный из 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, а далее стандартно.
- Клиентский сертификат + openSSL, Tony, 09:53 , 31-Авг-04 (2)
>-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, а далее стандартно.
в том-то и дело, что мне его из винды надо экспортировать, а не импортировать. Далее использовать для ссл'ного клиента.
- Клиентский сертификат + openSSL, Tony, 11:07 , 31-Авг-04 (3)
Попробовал еще раз: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:
- Клиентский сертификат + openSSL, bass, 05:41 , 01-Сен-04 (4)
>Попробовал еще раз: > >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: > >
- Клиентский сертификат + openSSL, Xela, 10:44 , 03-Сен-04 (5)
>сайт, с которым вы собираетесь устанавливать доверенные отношения при помощи сертификатов, не >имеет своего сертификата. дальнейшие попытки бесполезны. Не совсем так. Клиент не может проверить подлинность сертификата сервера. Надо s_client-у указать CA сертификат(ы) по которым он сможет проверить подлиность сертификата сервера и выстроить client certificate chain. Ключи -CAfile -CApath
|