Re: curl и самоподписанные сертификаты
On 16.12.2010 13:59, Ed wrote:
Victor Wagner wrote:
Другой вопрос, что самоподписанный сертификат, НЕ СОДЕРЖАЩИЙ расширения
basicConstraints считается сертификатом CA, а рассматриваемый сертификат
содержал это расширение со значеним CA:FALSE.
так что делать? ;)
можно как-то сказать curl'у - "этому сертификату я верю"?
надо что бы оба сертификата:
curl-ca-bundle.crt
и вашего сайта, были подписанны одним ключом, umho.
А сами сертификаты имели отрибуты "использовать для клиента"
"использовать для сервера".
Причем оба серта могут иметь оба атрибута и еще несколько.
По крайней мере у opnenvpn так.
----------------------------------------------------
Может пригодиться - из заметок:
Сертификат содержит публичный ключ, подписанный CA (или комплементарным
секретным ключом), данные об организации, выдавшей сертификат и, в
некоторых случаях, зашифрованный секретный ключ, а также отпечаток (хеш)
публичного ключа.
x509 - стандарт определяющий общее содержание сертификатов
PKCS#10 (формат записи сертификата, в openssl по умолчанию )
PKCS#12 (или pfx) - формат записи сертификата от m$.
DER - при использовании DER-формата убираются маркеры начала и конца
сертификата, а его содержимое кодируется base64, поэтому в файле DER
можно хранить только один сертификат, с другой стороны DER сертификаты
поддерживаются M$ (стандартное расширение .cer). Может использоваться
для запроса на серт.
keytool -list -v -keystore keystore.jks -storepass changeit
(посмотреть сертификаты в jks)
openssl rsa -noout -text -in client01.key (посмотреть данные
ключа)
openssl req -noout -text -in client01.csr (посмотреть данные
запроса на серт)
openssl x509 -in file(ca).crt -text (посмотреть
данные сертификата)
openssl pkcs12 -in file.p12 -info -nodes > file
openssl s_client -connect server:port -showcerts # Команда для того,
чтобы вытащить из ssl-enabled сервиса серверный сертификат
openssl x509 -inform PEM -in cert.pem -outform DER -out cert.cer
(конвертировать pem в der)
openssl x509 -inform DER -in cert.cer -outform PEM -out cert.pem
(конвертировать der в pem)
openssl pkcs8 - преобразование в pkcs8 и обратно
openssl pkcs12 -export -in client.pem -inkey client-key.pem -out
client.p12 -name "Client certificate from our organization"
(конвертировать pem в pkcs12)
openssl pkcs12 -in client.p12 -out client.pem (конвертировать pkcs12 в pem)
openssl genrsa -out ng_ca_key.pem -rand randfile -des3 4096 (создать
приватный ключ)
openssl req -new -x509 -key ca_key.pem -out ca_cert.pem -days 3650 (
-config cfg) (создать self-signed на основе приватного)
--
Sincerely,
Nicholas
Reply to: