Как использовать SSL-сертификаты в формате .p12 с Traefik - PullRequest
0 голосов
/ 20 января 2020

Во всех документах упоминается добавление .crt и .key к traefik.toml.

В моем случае у меня просто есть файл .p12, возможно использовать .p12 с traefik?

1 Ответ

2 голосов
/ 20 января 2020

Позвольте мне начать с различий между форматами. Спасибо @ sysadmin1138 за отличное объяснение.

PEM - Управляется RFC, преимущественно используется программным обеспечением с открытым исходным кодом. Он может иметь различные расширения (.pem, .key, .cer, .cert, more)

DER - родительский формат PEM. Полезно думать о нем как о двоичной версии файла PEM в кодировке base64. Обычно не используется за пределами Windows.

.pkcs12 .pfx .p12 - Первоначально определено RSA в стандартах криптографии Publi c -Key (сокращенно PKCS), изначально был вариант «12» усовершенствовано Microsoft и позже представлено как RF C 7292. Это формат контейнера с паролем, который содержит как публичные c, так и частные сертификаты. В отличие от файлов .pem, этот контейнер полностью зашифрован.

Основная информация о .p12 - это полностью зашифрованный контейнер с паролем.

Кратко рассмотрим traefik сертификат. go

Пакет tls использовать только crypto / tls и crypto / x509 .

package tls

import (
    "crypto/tls"
    "crypto/x509"
    ...    
)

Look в crypto / x509: чтение сертификатов из файлов PKCS12 проблема github: Была попытка добавить поддержку PKCS12 cert в crypto / x509 , но в итоге она не была реализована.

Как уже упоминалось в комментариях, правильный способ - конвертировать .p12.

Вот пример горячий, чтобы достичь его (спасибо @mulaz):

openssl pkcs12 -in filename.pfx -nocerts -out filename.key

openssl pkcs12 -in filename.pfx -clcerts -nokeys -out filename.crt 

И источник тот же: Советы: Использование openssl для извлечения закрытого ключа (файла .pem) из .pfx (Обмен личной информацией)

Надеюсь, это поможет!

...