====== OpenSSL ====== ===== rand ===== Генерирует последовательность случайных байтов\\ # Случайная строка (10 символов) openssl rand -hex (base64) 10 ===== Получение сертификата ===== Можно получить/скачать сертификат с указанного сайта\\ # Просмотреть сведения о сертификате openssl s_client -connect deeplay.enterprise.slack.com:443 # Для postgres openssl s_client -starttls postgres -connect ip:port # Сохранить сведения в файл (экспорт) echo -n | openssl s_client -connect site.ru:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/newfile.crt # Далее можно импортировать его например в Java keytool -import -trustcacerts -keystore /usr/lib/jvm/bellsoft-java8-full.x86_64/jre/lib/security/cacerts \ -storepass changeit -noprompt -alias slack_notify -file /tmp/slack_notify.crt # Узнать кто выдал сертификат # далее, по указанной ссылке можно скачать вышестоящий, просто wget openssl x509 -in -text -noout | grep -i issuer # проверка какая то openssl verify # Перчень установленных сертов в системе awk -v cmd='openssl x509 -noout -subject' ' /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt **keytool** [[https://keystore-explorer.org/downloads.html|gui утилита]]\\ # Содержимое хранилища keytool -list [-v] -keystore kafka.keystore.p12 (или .jks) [-storepass passwd] # Экспорт содержащегося серта в файл keytool -exportcert -keystore kafka.keystore.p12 -alias myCert -file toFile.cer # Импорт keytool -importcert -keystore kafka.keystore.jks -alias first -file first.cer # Для создания нового контейнера, нужно просто указать несуществующий файл, создастся # Удаление серта keytool -delete -alias -keystore
:!: Про jks Работа с контейнером для джавы\\ Есть пароль для контейнера, есть пароли для сертов, могут совпадать, тогда меньше гемора\\ Бывает так что показывает только те серты, что подходт под введенный пароль\\ При запуске джарки, есть такие аргументы для задания параметров -Djavax.net.ssl.keyStore=cert.jks\\ -Djavax.net.ssl.keyStorePassword=changeit\\ -Djavax.net.ssl.trustStor=cacerts\\ -Djavax.net.ssl.trustStorePassword=changeit\\
===== Установка сертификата ===== trust list sudo cp mycert.crt /usr/share/pki/ca-trust-source/anchors/ sudo update-ca-trust # debian sudo cp mycert.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates ===== Форматы =====
:!: PEM PEM - наиболее распространенный формат для X.509 сертификаты, CSRи криптографические ключи. Файл PEM представляет собой текстовый файл, может содержать сертификат конечного объекта, закрытый ключ или несколько сертификатов\\ PEM файлы обычно видны с расширениями .crt, .pem, .cer, и .key (для закрытых ключей), возможно и что нить типа ".ca-bundle"\\ Выглядит например так -----BEGIN CERTIFICATE----- MIIH/TCCBeWgAwIBAgIQaBYE3/M08XHYCnNVmcFBcjANBgkqhkiG9w0BAQsFADBy MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0b24x (...) -----END CERTIFICATE-----