Файлы PEM#
PEM (Privacy Enhanced Mail) — это стандарт для информации о публичных ключах и сертификатах, а также стандарт кодирования, используемый для передачи ключей и сертификатов.
Trino поддерживает файлы PEM. Если вы хотите использовать другие поддерживаемые форматы, см.:
хранилища 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-файл содержит корректную информацию для кластера, переходите к настройке сервера, как описано в Размещение файла сертификата и Настройка координатора.