Файлы PEM#

PEM (Privacy Enhanced Mail) — это стандарт для информации о публичных ключах и сертификатах, а также стандарт кодирования, используемый для передачи ключей и сертификатов.

Trino поддерживает файлы PEM. Если вы хотите использовать другие поддерживаемые форматы, см.:

  • JKS keystores

  • хранилища PKCS 12. (Для них ищите альтернативные команды в справке openssl.)

Один файл PEM может содержать либо информацию о сертификате или паре ключей, либо и то и другое в одном файле. Сертифицированные ключи могут содержать цепочку сертификатов от последовательных центров сертификации.

Следуйте шагам из этого раздела, чтобы проверить и валидировать ключ и сертификат в PEM-файлах. Для проверки JKS keystore см. Просмотр и проверка keystore.

Проверка PEM-файла#

Расширения имен файлов, показанные на этой странице, приведены только как примеры; стандарта именования расширений нет.

Вы можете получить один файл, который включает закрытый ключ и его сертификат, или отдельные файлы. Если вы получили отдельные файлы, объедините их в один, обычно в порядке от ключа к сертификату. Например:

cat clustercoord.key clustercoord.cert > clustercoord.pem

Затем используйте команду cat, чтобы просмотреть этот текстовый файл. Например:

cat clustercoord.pem | less

Убедитесь, что файл PEM содержит как минимум один раздел KEY и один раздел CERTIFICATE. Раздел ключа выглядит примерно так:

-----BEGIN PRIVATE KEY-----
MIIEowIBAAKCAQEAwJL8CLeDFAHhZe3QOOF1vWt4Vuk9vyO38Y1y9SgBfB02b2jW
....
-----END PRIVATE KEY-----

Если в разделе ключа указано BEGIN ENCRYPTED PRIVATE KEY, это означает, что ключ зашифрован, и для открытия или проверки ключа нужно использовать пароль. Вы могли задать пароль при запросе ключа, либо пароль могли назначить сетевые администраторы вашего сайта. Обратите внимание, что PEM-файлы, защищенные паролем, Trino не поддерживает.

Если в разделе ключа указано BEGIN EC PRIVATE KEY или BEGIN DSA PRIVATE KEY, это обозначает ключ, использующий альтернативы RSA: Elliptical Curve или DSA.

Раздел сертификата выглядит как в следующем примере:

-----BEGIN CERTIFICATE-----
MIIDujCCAqICAQEwDQYJKoZIhvcNAQEFBQAwgaIxCzAJBgNVBAYTAlVTMRYwFAYD
....
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDwjCCAqoCCQCxyqwZ9GK50jANBgkqhkiG9w0BAQsFADCBojELMAkGA1UEBhMC
....
-----END CERTIFICATE-----

Файл может содержать один раздел сертификата или более одного — для представления цепочки центров сертификации, где каждый сертификат заверяет предыдущий.

Проверка раздела PEM-ключа#

На этой странице предполагается, что в вашей системе доступна команда openssl из OpenSSL 1.1 или новее.

Проверьте корректность RSA-закрытого ключа следующей командой:

openssl rsa -in clustercoord.pem -check -noout

Ищите следующее подтверждающее сообщение:

RSA key ok

Note

См. справку openssl для соответствующих вариантов команд проверки для ключей EC или DSA.

Проверка раздела PEM-сертификата#

Проанализируйте раздел сертификата в вашем PEM-файле следующей командой openssl:

openssl x509 -in clustercoord.pem -text -noout

Если ваш сертификат был сгенерирован с паролем, openssl запросит его. Обратите внимание, что PEM-файлы, защищенные паролем, Trino не поддерживает.

В выводе команды openssl обратите внимание на следующие характеристики:

  • Современные браузеры теперь ограничивают максимальный срок действия сертификата 398 днями. Найдите даты Not Before и Not After в разделе Validity вывода и убедитесь, что временной интервал не превышает 398 дней.

  • Современные браузеры и клиенты требуют поле Subject Alternative Name (SAN). Убедитесь, что здесь указан DNS-адрес вашего сервера, например DNS:clustercoord.example.com. Сертификаты без SAN не поддерживаются.

Если ваш PEM-файл содержит корректную информацию для кластера, переходите к настройке сервера, как описано в Размещение файла сертификата и Настройка координатора.