The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Подпись клиентских сертификатов купленным сертификатом, !*! soleg, 13-Июл-13, 02:43  [смотреть все]
Всем привет. Вопрос по теме https://www.opennet.ru/base/sec/ssl_cert.txt.html

Такой вопрос.
Есть сайт авторизация происходит по клиентским сертификатом.Подписываются они самоподписаным сертификатом. И браузер ругается при переходе на сайте.
Сейчас купил сертификат от комодо. Подписываю им. Но при открытия защишенной страницы и указания нужного сертификата выдаёт ошибку

ERR_BAD_SSL_CLIENT_AUTH_CERT

Вот такой конфиг хоста

<VirtualHost %IP%:443>
    SSLEngine on
    SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
    SSLCertificateFile /ca.crt
    SSLCertificateKeyFile /ca.key
    SSLCACertificateFile /ca.crt    
         SSLCertificateChainFile /ca.ca-bundle  
    <Directory /var/www/user/data/www/site.ru/>
    SSLVerifyClient require
    </Directory>
    SSLOptions +StdEnvVars +ExportCertData
    ServerName site.ru
    DocumentRoot /var/www/user/data/www/site.ru
    AssignUserID user user
    ErrorLog /var/www/httpd-logs/site.ru.error.log
    ServerAlias site.ru
    ServerAdmin webmaster@site.ru
    php_admin_value open_basedir "/var/www/user/data:."
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -f webmaster@site.ru"
    php_admin_value upload_tmp_dir "/var/www/user/data/mod-tmp"
    php_admin_value session.save_path "/var/www/user/data/mod-tmp"
    AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
    AddType application/x-httpd-php-source .phps
</VirtualHost>

Если же убрать эти строки


<Directory /var/www/user/data/www/site.ru/>
    SSLVerifyClient require
    </Directory>

То просто выдаёт защищенную страницу без запроса сертификата, при этом показывает что соединение достоверное. т.е. зелённый - https:

Возник вопрос. А можно ли вообще подписывать клиентские сертификаты не самоподписанным сертификатом?

Если можно, то скажите что делаю не так?

Клиентский сертификат создаю


openssl req -new -newkey rsa:1024 -nodes -keyout clien01.key  -subj /C=RU/CN=clien01/emailAddress=usr@dm.ru -out clien01.csr
openssl ca -config ca.config -in clien01.csr -out clien01.crt -batch
openssl pkcs12 -export -in clien01.crt -inkey clien01.key -certfile ca.crt -out clien01.p12 -passout pass:q1w2e3

  • Подпись клиентских сертификатов купленным сертификатом, !*! gg, 13:47 , 13-Июл-13 (1)
    >[оверквотинг удален]
    > сертификатом?
    > Если можно, то скажите что делаю не так?
    > Клиентский сертификат создаю
    >
     
    > openssl req -new -newkey rsa:1024 -nodes -keyout clien01.key  -subj /C=RU/CN=clien01/emailAddress=usr@dm.ru
    > -out clien01.csr
    > openssl ca -config ca.config -in clien01.csr -out clien01.crt -batch
    > openssl pkcs12 -export -in clien01.crt -inkey clien01.key -certfile ca.crt -out clien01.p12
    > -passout pass:q1w2e3
    >

    Во-первых, браузер мог ругаться на самоподписной сертификат сервера, а не клиента. На самоподписной сертификат клиента может ругаться сервет, если ему не сказано принимать эти сертификаты. Клиентские сертификаты обычно подписывают своим СА.
    Во-вторых, ca.crt в конфиге - это так назван подписанный сертификат вашего сервера?
    В-трерьих, вы купили сертификат, которым можете подписывать любые клиентские сертификаты?

    • Подпись клиентских сертификатов купленным сертификатом, !*! soleg, 18:14 , 13-Июл-13 (2)
      >[оверквотинг удален]
      >> -out clien01.csr
      >> openssl ca -config ca.config -in clien01.csr -out clien01.crt -batch
      >> openssl pkcs12 -export -in clien01.crt -inkey clien01.key -certfile ca.crt -out clien01.p12
      >> -passout pass:q1w2e3
      >>

      > Во-первых, браузер мог ругаться на самоподписной сертификат сервера, а не клиента. На
      > самоподписной сертификат клиента может ругаться сервет, если ему не сказано принимать
      > эти сертификаты. Клиентские сертификаты обычно подписывают своим СА.
      > Во-вторых, ca.crt в конфиге - это так назван подписанный сертификат вашего сервера?
      > В-трерьих, вы купили сертификат, которым можете подписывать любые клиентские сертификаты?

      ca.crt это переименнованный .crt файл полученный при покупке серта.

      Подскажите, где такой можно купить?




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

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