Добавляем свой самоподписный сертификат в список доверенных корневых

И так, нам нужен собственно сам сертификат в формате PEM, который нужно положить в правильное место:
— Linux: /usr/share/ca-certificates/mozilla
— FreeBSD: /usr/share/certs/trusted
— Oracle Solaris /etc/certs/CA

Теперь нужно сгенерировать симлинк с именем хеша в папку с сертификатами. Тут есть 2 варианта: использовать утилиту c_rehash (доступна в пакете openssl-perl) или сделать это вручную. Если не хотите ничего сломать и нужно сделать для одного сертификата, то лучше вручную. Делается так:

1) переходим в папку с сертификатами
— Linux/BSD — /etc/ssl/certs
— Oracle Solaris — /etc/openssl/cert
2) делаем симлинк:

ln -s "/path/to/cert_name.pem" "$(openssl x509 -hash -noout -in "cert_name.pem")".0

А если нужно сразу несколько, то так:

for file in *.pem; do ln -s "$file" "$(openssl x509 -hash -noout -in "$file")".0; done

Или через c_rehash.
Вот тут стоит сделать отступление. Как я ни пытался нормально сделать это через эту утилиту, она не могла нормально сделать симлинки: она делает их только в пределах той папки, где физически находятся сами сертификаты, то есть симлинк выходит вида hash -> file, а должен быть hash -> ../../openssl/CA/file. Поэтому, я решил делать через for 

А если нужно быстро выполнить curl-запрос без изменения, то делается это любым из способов:

curl --cacert /etc/certs/ca-certificates.crt URL
CURL_CA_BUNDLE=/etc/certs/ca-certificates.crt curl URL

где /etc/certs/ca-certificates.crt — список корневых сертификатов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *