Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
В этом документе объясняется, как преобразовать TLS-сертификат и связанный с ним закрытый ключ в форматы PEM или PFX (PKCS #12).
Apigee Edge поддерживает хранение сертификатов только в форматах PEM или PFX в хранилищах ключей и доверенных сертификатов. Шаги, используемые для преобразования сертификатов из любого существующего формата в форматы PEM или PFX, основаны на инструментарии OpenSSL и применимы в любой среде, где доступен OpenSSL.
Прежде чем начать
Прежде чем приступить к выполнению действий, описанных в этом документе, убедитесь, что вы понимаете следующие темы:
- Если вам незнакомы форматы PEM или PFX, прочтите раздел «О TLS/SSL» .
- Если вы не знакомы с форматами сертификатов, прочтите статью «Форматы SSL-сертификатов» .
- Если вы не знакомы с библиотекой OpenSSL, прочтите статью об OpenSSL .
- Если вы хотите использовать примеры командной строки из этого руководства, установите или обновите клиент OpenSSL до последней версии.
Преобразование сертификата из формата DER в формат PEM
В этом разделе описывается, как преобразовать сертификат и связанный с ним закрытый ключ из формата DER в формат PEM.
- Передайте файл, содержащий полную цепочку сертификатов (
certificate.der) и связанный с ним закрытый ключ (private_key.der), который вы хотите преобразовать в формат PEM, на компьютер, где установлен OpenSSL, используяscp,sftpили любую другую утилиту.Например, для передачи файла в каталог
/tmpна сервере, содержащем OpenSSL, используйте командуscpследующим образом:scp certificate.der servername:/tmp scp private_key.der servername:/tmp
Где servername — это имя сервера, содержащего OpenSSL.
- Войдите в систему на компьютере, где установлен OpenSSL.
- В каталоге, где находятся сертификаты, выполните следующую команду, чтобы преобразовать сертификат и связанный с ним закрытый ключ из формата DER в формат PEM:
openssl x509 -inform DER -in certificate.der -outform PEM -out certificate.pem openssl rsa -inform DER -in private_key.der -outform PEM -out private.key
- Убедитесь, что сертификат преобразован в формат PEM .
Преобразование сертификата из формата P7B в формат PEM.
В этом разделе описывается, как преобразовать сертификаты из формата P7B в формат PEM.
- Передайте файл, содержащий полную цепочку сертификатов (
certificate.p7b), который вы хотите преобразовать в формат PEM, на компьютер, где установлен OpenSSL, используяscp,sftpили любую другую утилиту.Например, для передачи файла в каталог
/tmpна сервере, содержащем OpenSSL, используйте командуscpследующим образом:scp certificate.p7b servername:/tmp
Где servername — это имя сервера, содержащего OpenSSL.
- Войдите в систему на компьютере, где установлен OpenSSL.
- В каталоге, где находятся сертификаты, выполните следующую команду для преобразования сертификата из формата P7B в формат PEM:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
- Убедитесь, что сертификат преобразован в формат PEM .
Преобразование сертификата из формата PFX в формат PEM.
В этом разделе описывается, как преобразовать TLS-сертификаты из формата PFX в формат PEM.
При преобразовании файла PFX в формат PEM OpenSSL помещает все сертификаты и закрытый ключ в один файл. Вам потребуется открыть этот файл в текстовом редакторе и скопировать каждый сертификат и закрытый ключ (включая операторы BEGIN/END) в отдельные текстовые файлы и сохранить их как certificate.pfx , Intermediate.pfx (если применимо), CACert.pfx и privateKey.key соответственно.
Apigee поддерживает формат PFX/PKCS #12; однако формат PEM удобен по многим причинам, включая проверку подлинности.
- Перенесите сертификаты и закрытый ключ (
certificate.pfx,Intermediate.pfxCACert.pfx,privateKey.key), которые вы хотите преобразовать в формат PEM, на компьютер, где установлен OpenSSL, используяscp,sftpили любую другую утилиту.Например, для передачи файла в каталог
/tmpна сервере, содержащем OpenSSL, используйте командуscpследующим образом:scp certificate.pfx servername:/tmp
Где servername — это имя сервера, содержащего OpenSSL.
- Войдите в систему на компьютере, где установлен OpenSSL.
- В каталоге, где находятся сертификаты, выполните следующую команду для преобразования сертификата из формата P7B в формат PEM:
openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
- Убедитесь, что сертификат преобразован в формат PEM .
Преобразование сертификата из формата P7B в формат PFX.
В этом разделе описывается, как преобразовать TLS-сертификаты из формата P7B в формат PFX.
Для преобразования в формат PFX вам также потребуется получить закрытый ключ.
- Перенесите сертификат (
certificate.p7b), который вы хотите преобразовать в формат PFX, на компьютер, где установлен OpenSSL, используяscp,sftpили любую другую утилиту.Например, для передачи файла в каталог
/tmpна сервере, содержащем OpenSSL, используйте командуscpследующим образом:scp certificate.p7b servername:/tmp scp private_key.key servername:/tmp
Где servername — это имя сервера, содержащего OpenSSL.
- Войдите в систему на компьютере, где установлен OpenSSL.
- В каталоге, где находятся сертификаты, выполните следующие команды, чтобы преобразовать сертификат из формата P7B в формат PFX и экспортировать сертификаты сущности и промежуточного центра сертификации в отдельные файлы:
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer openssl pkcs12 -export -in certificate.cer -inkey private_key.key -out certificate.pfx -certfile CACert.cer
Сертификат проверки находится в формате PEM.
В этом разделе описывается, как проверить, что сертификат имеет формат PEM.
- Чтобы просмотреть сертификат в формате PEM, выполните следующую команду:
openssl x509 -in certificate.pem -text -noout
- Если вы можете просмотреть содержимое сертификата в удобочитаемом формате без каких-либо ошибок, то можете подтвердить, что сертификат имеет формат PEM.
- Если сертификат имеет другой формат, вы увидите ошибки следующего вида:
unable to load certificate 12626:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTED CERTIFICATE View DER encoded Certificate
Упаковка файлов ключей и сертификатов PEM в формат PKCS12/PFX
- Убедитесь, что файл закрытого ключа имеет формат PEM. Что касается сертификата, если у вас есть отдельные PEM-файлы для вашей цепочки сертификатов, откройте каждый файл в текстовом редакторе и объедините их в один файл, как показано ниже:
-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
- Перенесите файлы на компьютер, где установлен OpenSSL, используя
scp,sftpили любую другую утилиту:scp certificate.pem servername:/tmp scp private.key servername:/tmp
- Войдите в систему на компьютере, где установлен OpenSSL.
- Из каталога, где находятся файлы, выполните следующую команду, чтобы упаковать файлы в файл PKCS12 с псевдонимом myalias. При появлении запроса введите соответствующий пароль:
openssl pkcs12 -export -in certificate.pem -inkey private.key -out keystore.pfx -name myalias