Как создать сертификат клиента, используя сторонний CA-NOT Self Signed CA - PullRequest
3 голосов
/ 02 июня 2009

Я пытаюсь экспортировать сертификат клиента для использования с веб-браузером.

Цель - ограничить доступ с помощью директивы для области администратора. Я видел множество учебных пособий по использованию самозаверяющих ЦС. Как бы вы сделали это с помощью третьей стороны?

1) Нужно ли включать CA в клиентский pfx, если это доверенный корневой CA? Я видел оба примера.

без CA:

openssl pkcs12 -export -inkey KEYFILENAME -in CERTFILEFILENAME -out XXX.pfx

С CA:

openssl pkcs12 -export  -in my.crt- inkey my.key -certfile my.bundle -out my.pfx

2) Нужно ли по-прежнему включать SSLCACertificateFile для доверенного ЦС в настройке httpd.conf?

SSLVerifyClient none
SSLCACertificateFile conf/ssl.crt/ca.crt
<Location /secure/area>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>

http://www.modssl.org/docs/2.8/ssl_howto.html#ToC8

1 Ответ

5 голосов
/ 24 октября 2009

Нельзя выдавать клиентские сертификаты со сторонним сертификатом, подписанным CA. Вы должны иметь самозаверяющий ЦС для выдачи клиентских сертификатов и указать этот ЦС как SSLCACertificateFile

Пример:

    SSLCertificateFile /etc/apache2/ssl/apache.cer # site certificate signed by verisign
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key # site key for certificate signed by verisign
    SSLCACertificateFile /etc/apache2/ssl/apachelca2.pem # your self signed CA

обратите внимание, что apachelca2.pem содержит ключ и сертификат ... командные строки для выдачи клиентских сертификатов:

openssl req -config /usr/share/apache2/ssleay.cnf -new -key client.key -out client.csr

openssl x509 -req -days 365 -CA /etc/apache2/ssl/apachelca2.pem -CAkey /etc/apache2/ssl/apachelca2.pem -CAcreateserial -in client.csr -extfile /usr/share/apache2/ssleay.cnf -extensions v3_req -out client.crt
...