X.509: Закрытый/Открытый ключ
Мы пытаемся реализовать некоторые функции веб-сервиса от одного из наших партнеров. Теперь содержимое, которое передается, должно быть зашифровано с помощью открытого ключа, который мы должны предоставить.
В спецификации безопасности говорится, что публичный сертификат должен быть стандартом X.509. Не использует ли X.509 метод частного/открытого ключа? Потому что я получаю только один .pem файл, содержащий закрытый ключ и сертификат, но не открытый ключ, используя следующую команду:
openssl req -new -x509 -days 365 -nodes -out ./cert.pem -keyout ./cert.pem
Нужно ли мне изменять эту команду, чтобы создать закрытый и открытый ключ?
Ответы
Ответ 1
Основные шаги командной строки для генерации частного и открытого ключа с использованием OpenSSL следующие:
openssl genrsa -out private.key 1024
openssl req -new -x509 -key private.key -out publickey.cer -days 365
openssl pkcs12 -export -out public_privatekey.pfx -inkey private.key -in publickey.cer
Шаг 1 - генерирует закрытый ключ
Шаг 2 - создает сертификат X509 (файл .cer), содержащий ваш открытый ключ, который вы загружаете при регистрации своего частного приложения (или обновления в партнерское приложение).
Шаг 3 - Экспортируйте сертификат x509 и закрытый ключ в файл pfx. Если ваша выбранная библиотека обертки использует файл .pem для подписи запросов, этот шаг не требуется.
Надеюсь, что это поможет! Этот ответ объясняет различные расширения файлов.
Ответ 2
Открытый ключ хранится внутри сертификата x.509.
Сертификат связывает идентификационную информацию (общее имя, адрес, все остальное) с этим открытым ключом.
Ответ 3
Создайте пару закрытого открытого ключа.
openssl req -x509 -newkey rsa:2048 -keyout private.key -out public.cert -days 365
Дополнительно, объедините пару в один файл.
openssl pkcs12 -export -inkey private.key -in public.cert -out certificate.pfx
Это приводит к следующим файлам.
private.key
certificate.pfx
public.cert
См. также