Назад | Перейти на главную страницу

Расположение сертификата SSL в UNIX / Linux

Есть ли какой-либо стандарт или соглашение о том, где сертификаты SSL и связанные с ними закрытые ключи должны размещаться в файловой системе UNIX / Linux?

Для общесистемного использования OpenSSL должен предоставить вам /etc/ssl/certs и /etc/ssl/private. Последний из которых будет ограничен 700 к root:root.

Если у вас есть приложение, не выполняющее начальный привеп из root тогда вам может быть удобно разместить их где-нибудь локально по отношению к приложению с соответствующими ограниченными правами собственности и разрешениями.

Здесь Go ищет общедоступные корневые сертификаты.:

"/etc/ssl/certs/ca-certificates.crt",                // Debian/Ubuntu/Gentoo etc.
"/etc/pki/tls/certs/ca-bundle.crt",                  // Fedora/RHEL 6
"/etc/ssl/ca-bundle.pem",                            // OpenSUSE
"/etc/pki/tls/cacert.pem",                           // OpenELEC
"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem", // CentOS/RHEL 7
"/etc/ssl/cert.pem",                                 // Alpine Linux

Также:

"/etc/ssl/certs",               // SLES10/SLES11, https://golang.org/issue/12139
"/system/etc/security/cacerts", // Android
"/usr/local/share/certs",       // FreeBSD
"/etc/pki/tls/certs",           // Fedora/RHEL
"/etc/openssl/certs",           // NetBSD
"/var/ssl/certs",               // AIX

Это будет варьироваться от дистрибутива к дистрибутиву. Например, в инстансах Amazon Linux (основанных на RHEL 5.x и частях RHEL6 и совместимых с CentOS) сертификаты хранятся в /etc/pki/tls/certs а ключи хранятся в /etc/pki/tls/private. Сертификаты CA имеют свой собственный каталог, /etc/pki/CA/certs и /etc/pki/CA/private. Для любого данного дистрибутива, особенно на размещенных серверах, я рекомендую следовать уже доступной структуре каталогов (и разрешений), если она доступна.

Ubuntu использует /etc/ssl/certs. Также есть команда update-ca-certificates который установит сертификаты из /usr/local/share/ca-certificates.

Итак, устанавливая свои собственные сертификаты в /usr/local/share/ca-certificates и бег update-ca-certificates кажется рекомендуется.

http://manpages.ubuntu.com/manpages/latest/man8/update-ca-certificates.8.html

Если вы ищете сертификат, используемый вашим экземпляром Tomcat

  1. Откройте файл server.xml
  2. Найдите коннектор SSL / TLS
  3. Видеть keystoreFile атрибут, содержащий путь к файлу хранилища ключей.

Это выглядит как

<Connector
    protocol="org.apache.coyote.http11.Http11Protocol"
    port="8443" maxThreads="200"
    scheme="https" secure="true" SSLEnabled="true"
    keystoreFile="${user.home}/.keystore" keystorePass="changeit"
    clientAuth="false" sslProtocol="TLS" />