Преобразование сертификатов в поддерживаемый формат

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

В этом документе объясняется, как преобразовать сертификат 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.

  1. Перенесите файл, содержащий полную цепочку сертификатов ( certificate.der ) и связанный с ним закрытый ключ ( private_key.der ), который вы хотите преобразовать в формат PEM, на компьютер, где установлен OpenSSL, с помощью scp , sftp или любой другой утилиты.

    Например, используйте команду scp для передачи файла в каталог /tmp на сервере, содержащем OpenSSL, следующим образом:

    scp certificate.der servername:/tmp
    scp private_key.der servername:/tmp
    

    Где servername — это имя сервера, содержащего OpenSSL.

  2. Войдите на компьютер, где установлен OpenSSL.
  3. В каталоге, где расположены сертификаты, выполните следующую команду, чтобы преобразовать сертификат и связанный с ним закрытый ключ из формата 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
    
  4. Убедитесь, что сертификат преобразован в формат PEM .

Преобразование сертификата из формата P7B в формат PEM

В этом разделе описывается, как преобразовать сертификаты из формата P7B в формат PEM.

  1. Перенесите файл, содержащий полную цепочку сертификатов ( certificate.p7b ), который вы хотите преобразовать в формат PEM, на компьютер, где установлен OpenSSL, с помощью scp , sftp или любой другой утилиты.

    Например, используйте команду scp для передачи файла в каталог /tmp на сервере, содержащем OpenSSL, следующим образом:

    scp certificate.p7b servername:/tmp
    

    Где servername — это имя сервера, содержащего OpenSSL.

  2. Войдите на компьютер, где установлен OpenSSL.
  3. В каталоге, где расположены сертификаты, выполните следующую команду, чтобы преобразовать сертификат из формата P7B в формат PEM:
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
    
  4. Убедитесь, что сертификат преобразован в формат PEM .

Преобразование сертификата из формата PFX в формат PEM

В этом разделе описывается, как преобразовать сертификаты TLS из формата PFX в формат PEM.

При преобразовании файла PFX в формат PEM OpenSSL помещает все сертификаты и закрытый ключ в один файл. Вам нужно будет открыть файл в текстовом редакторе и скопировать каждый сертификат и закрытый ключ (включая операторы BEGIN/END) в отдельные текстовые файлы и сохранить их как certificate.pfx , Intermediate.pfx (если применимо), CACert.pfx , и privateKey.key соответственно.

Apigee поддерживает формат PFX/PKCS #12; однако формат PEM удобен по многим причинам, включая проверку.

  1. Перенесите сертификаты и закрытый ключ ( certificate.pfx , Intermediate.pfx CACert.pfx , privateKey.key ), которые вы хотите преобразовать в формат PEM, на компьютер, где установлен OpenSSL, с помощью scp , sftp или любой другой утилиты.

    Например, используйте команду scp для передачи файла в каталог /tmp на сервере, содержащем OpenSSL, следующим образом:

    scp certificate.pfx servername:/tmp
    

    Где servername — это имя сервера, содержащего OpenSSL.

  2. Войдите на компьютер, где установлен OpenSSL.
  3. В каталоге, где расположены сертификаты, выполните следующую команду, чтобы преобразовать сертификат из формата P7B в формат PEM:
    openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
    
  4. Убедитесь, что сертификат преобразован в формат PEM .

Преобразование сертификата из формата P7B в формат PFX

В этом разделе описывается, как преобразовать сертификаты TLS из формата P7B в формат PFX.

Чтобы преобразовать в формат PFX, вам также необходимо получить закрытый ключ.

  1. Перенесите сертификат ( certificate.p7b ), который вы хотите преобразовать в PFX, на компьютер, где установлен OpenSSL, с помощью scp , sftp или любой другой утилиты.

    Например, используйте команду scp для передачи файла в каталог /tmp на сервере, содержащем OpenSSL, следующим образом:

    scp certificate.p7b servername:/tmp
    scp private_key.key servername:/tmp
    

    Где servername — это имя сервера, содержащего OpenSSL.

  2. Войдите на компьютер, где установлен OpenSSL.
  3. В каталоге, где расположены сертификаты, выполните следующие команды, чтобы преобразовать сертификат из формата 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.

  1. Чтобы просмотреть сертификат в формате PEM, выполните следующую команду:
    openssl x509 -in certificate.pem -text -noout
    
  2. Если вы можете просмотреть содержимое сертификата в удобочитаемом формате без каких-либо ошибок, вы можете подтвердить, что сертификат имеет формат PEM.
  3. Если сертификат имеет любой другой формат, вы увидите такие ошибки:
    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.

  1. Убедитесь, что файл закрытого ключа имеет формат PEM. Что касается сертификата, если у вас есть отдельные файлы PEM для вашей цепочки, откройте каждый файл в текстовом редакторе и объедините их в один файл, как показано ниже:
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
    
  2. Перенесите файлы на компьютер, где установлен OpenSSL, с помощью scp , sftp или любой другой утилиты:
    scp certificate.pem servername:/tmp
    scp private.key servername:/tmp
    
  3. Войдите на компьютер, на котором установлен OpenSSL.
  4. Из каталога, где расположены файлы, выполните следующую команду, чтобы упаковать файлы в файл PKCS12 с псевдонимом myalias. При появлении запроса введите соответствующий пароль:
    openssl pkcs12 -export -in certificate.pem -inkey private.key -out keystore.pfx -name myalias