2009-06-02 6 views
3

Я пытаюсь экспортировать сертификат клиента для использования с веб-браузером.Как сгенерировать сертификат клиента с помощью CA CA-NOT Self Signed CA

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

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

Без 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

+0

Это не требует программирования. Возможно, вам повезет с serverfault. – erickson

+1

Определенно проблема с сервером, проголосовали за движение. –

ответ

5

Вы не можете выдавать клиентские сертификаты с третьей стороной CA сертификат. Вы должны иметь самоподписанный 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