Может кто-нибудь сказать мне правильный путь / команду для извлечения / преобразования файлов сертификата .crt
и закрытого ключа .key
из .pem
файла? Я просто прочитал, что они взаимозаменяемы, но не как.
ssl
certificate
private-key
Lanbo
источник
источник
Ответы:
Я был в состоянии преобразовать Pem в CRT, используя это:
источник
openssl pkey -in mumble.pem -out mumble-key.pem
Если версия OpenSSL старше 1.0.0, извлечь ключ как ключ RSA:openssl rsa -in mumble.pem -out mumble-key.pem
unable to load certificate 140584440387400:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: TRUSTED CERTIFICATE
Expecting: ANY PRIVATE KEY
ошибку.Конвертация с использованием OpenSSL
Эти команды позволяют преобразовывать сертификаты и ключи в различные форматы, чтобы сделать их совместимыми с определенными типами серверов или программного обеспечения.
Конвертировать файл DER (.crt .cer .der) в PEM
Конвертировать файл PEM в DER
Преобразовать файл PKCS # 12 (.pfx .p12), содержащий закрытый ключ и сертификаты, в PEM
Преобразовать файл сертификата PEM и закрытый ключ в PKCS # 12 (.pfx .p12)
Конвертировать PEM в CRT (файл .CRT)
OpenSSL конвертировать PEM
Конвертировать PEM в DER
Конвертировать PEM в P7B
Конвертировать PEM в PFX
OpenSSL Convert DER
Конвертировать DER в PEM
OpenSSL Convert P7B
Конвертировать P7B в PEM
Конвертировать P7B в PFX
OpenSSL Convert PFX
Конвертировать PFX в PEM
Генерация ключей RSA с помощью OpenSSL
Используя OpenSSL в командной строке, вам сначала нужно будет сгенерировать открытый и закрытый ключ, вы должны защитить этот файл паролем с помощью аргумента -passout, есть много разных форм, которые этот аргумент может принимать, поэтому обратитесь к документации OpenSSL по этому поводу.
Это создает файл ключа с именем private.pem, который использует 1024 бита. Этот файл на самом деле имеет как закрытый, так и открытый ключи, поэтому вы должны извлечь открытый из этого файла:
Пример файла:
Теперь у вас есть некоторые данные в file.txt, давайте зашифруем их, используя OpenSSL и открытый ключ:
Это создает зашифрованную версию file.txt, называющую его file.ssl, если вы посмотрите на этот файл, это просто бинарный мусор, ни для кого не очень полезный. Теперь вы можете расшифровать его с помощью закрытого ключа:
Теперь у вас будет незашифрованный файл в decrypted.txt:
Опции RSA TOOLS в OpenSSL
ИМЯ
СИНТАКСИС
ОПИСАНИЕ
КОМАНДНЫЕ ВАРИАНТЫ
НОТЫ
Формат закрытого ключа PEM использует строки верхнего и нижнего колонтитула:
Формат открытого ключа PEM использует строки верхнего и нижнего колонтитула:
Формат PEM RSAPublicKey использует строки верхнего и нижнего колонтитула:
ПРИМЕРЫ
Чтобы удалить фразу-пароль для закрытого ключа RSA:
Чтобы зашифровать закрытый ключ с помощью тройного DES:
Чтобы преобразовать закрытый ключ из формата PEM в DER:
Чтобы распечатать компоненты закрытого ключа для стандартного вывода:
Чтобы просто вывести открытую часть закрытого ключа:
Выведите открытую часть закрытого ключа в формате RSAPublicKey:
источник
Чтобы извлечь ключ и сертификат из файла pem:
Извлечь ключ
Еще один метод извлечения ключа ...
Извлеките все сертификаты, в том числе CA Chain
Извлечь текстуально первый сертификат как DER
источник
0. Условие :
openssl
должно быть установлено. В Windows, еслиGit Bash
установлена, попробуйте это! Альтернативные двоичные файлы можно найти здесь.1. Выписка
.key
из.pem
:2. Выписка
.crt
из.pem
:источник
.Crt хранит сертификат .. в формате pem. Поэтому .pem, хотя он может иметь и другие вещи, такие как csr (запрос на подпись сертификата), закрытый ключ, открытый ключ или другие сертификаты, когда он хранит только сертификат, - это то же самое, что и .crt.
Pem - это файл в кодировке Base 64 с заголовком и нижним колонтитулом между каждым разделом.
Чтобы извлечь конкретный раздел, скрипт perl, такой как приведенный ниже, полностью допустим, но не стесняйтесь использовать некоторые команды openssl.
где == 1 можно изменить на любой нужный вам раздел. Очевидно, что если вы точно знаете заголовок и нижний колонтитул, который вам требуется, и в файле есть только один из них (обычно, если вы сохраняете только сертификат и ключ), вы можете упростить его:
источник
Если вы задали этот вопрос, потому что используете,
mkcert
то дело в том, что.pem
файл - это сертификат, а-key.pem
файл - это ключ.(Вам не нужно конвертировать, просто запустите
mkcert yourdomain.dev otherdomain.dev
)источник