Проверка сертификата PEM#
Данный документ содержит инструкции по проверке файлов PEM, используемых для Настройка TLS.
PEM (Privacy Enhanced Mail) это стандарт хранения и передачи публичных ключей и сертификатов. CedrusData поддерживает сертификаты в формате PEM. Другими поддерживаемым типами сертификатов являются JKS и PKCS 12.
PEM-файл может содержать сертификат, пару ключей, или их комбинацию. Ключи могут содержать цепочку сертификатов от различных центров сертификации (certificate authorities).
Используйте инструкции ниже, чтобы проверить содержимое PEM-файла.
Проверка PEM-файла#
В примерах ниже приведены расширения файлов для удобства чтения. Реальные файлы могут иметь другие расширения или не иметь расширений.
Вы могли получить файл, который содержит и сертификат и приватный ключ. Вы также могли получить сертификат и приватный ключ в отдельных файлах. В таком случае объедините два файла в один так, чтобы первым шел приватный ключ, а затем сертификат. Например:
cat clustercoord.key clustercoord.cert > clustercoord.pem
Используйте команду cat
, чтобы просмотреть содержимое файла:
cat clustercoord.pem | less
Убедитесь, что вы видите по крайней мере одну секцию KEY
и одну секцию CERTIFICATE
.
Секция KEY
обычно выглядит следующим образом:
-----BEGIN PRIVATE KEY-----
MIIEowIBAAKCAQEAwJL8CLeDFAHhZe3QOOF1vWt4Vuk9vyO38Y1y9SgBfB02b2jW
....
-----END PRIVATE KEY-----
Если секция KEY
содержит фразу BEGIN ENCRYPTED PRIVATE KEY
,
значит вы получили зашифрованный приватный ключ и работа с ним потребует расшифровки с помощью пароля,
который вы должны были получить вместе с ключом (возможно, вы указали пароль при запросе ключа).
Обратите внимание, что CedrusData не поддерживает PEM-файлы, защищенные паролем.
Если секция KEY
содержит фразу BEGIN EC PRIVATE KEY
или BEGIN DSA PRIVATE KEY
,
значит вы получили ключ, который использует алгоритмы Elliptical Curve или DSA вместо RSA.
Секция CERTIFICATE
может выглядеть следующим образом:
-----BEGIN CERTIFICATE-----
MIIDujCCAqICAQEwDQYJKoZIhvcNAQEFBQAwgaIxCzAJBgNVBAYTAlVTMRYwFAYD
....
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDwjCCAqoCCQCxyqwZ9GK50jANBgkqhkiG9w0BAQsFADCBojELMAkGA1UEBhMC
....
-----END CERTIFICATE-----
Файл может содержать один сертификат или цепочку сертификатов, каждый из которых подтверждает предыдущий.
Проверка приватного ключа#
Инструкции далее предполагают, что на вашей системе установлена утилита openssl
из пакета OpenSSL 1.1 или более поздней версии.
Проверьте валидность приватного RSA ключа с помощью следующей команды:
openssl rsa -in clustercoord.pem -check -noout
При успешной проверке вы увидите следующее сообщение:
RSA key ok
Примечание
Для проверки приватных ключей EC или DSA см. соответствующую документацию openssl
.
Проверка сертификата#
Проанализируйте сертификат с помощью следующей команды:
openssl x509 -in clustercoord.pem -text -noout
Если ваш сертификат имеет пароль, утилита openssl
запросит его.
Обратите внимание на вывод вышеприведенной команды:
Большинство современных браузеров устанавливают максимальный срок валидности сертификата в 398 дня. Обратите внимание на параметры
Not Before
иNot After
в секцииValidity
. Если срок действия сертификата превышает предельное значение, браузеры могут выдать ошибку при получении такого сертификата.Многие современные браузеры и клиентские приложения требуют наличия поля Subject Alternative Name (SAN). Убедитесь, что это поле содержит DNS имя вашего сервера (например,
DNS:clustercoord.example.com
). Браузеры и клиентские приложения могут выдать ошибку при получении сертификата без SAN.