The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Клиентский сертификат + openSSL, !*! Tony, 30-Авг-04, 22:21  [смотреть все]
Если не трудно, подтолкните в правильном направлении.

Есть экспортированный из 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
перед использованием?

  • Клиентский сертификат + 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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру