Текущий пост с ответом был чрезвычайно полезен для меня на последних этапах перехода от файла сертификата с истекшим сроком действия (.pfx или .p12) к новому с GoDaddy, но я обнаружил, что в нем недостаточно информации о начальных шагах о том, как создать запрос на подпись сертификата (CSR) из моего исходного файла сертификата.
Для тех, кто ищет подобную информацию, вот что я в итоге использовал ...
Получить закрытый ключ:
openssl pkcs12 -in certs-and-key.p12 -out privateKey.key
Получить сертификат:
Осторожно: это может дать вам сертификат CA
openssl pkcs12 -in certs-and-key.p12 -out certificate.crt -nokeys
Лучше: используйте эту команду для печати только сертификата клиента
openssl pkcs12 -in MacCossLabUW.p12 -clcerts
Затем скопируйте вывод между:
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Сохраните его в файл с именем certificate.crt
Теперь убедитесь, что закрытый ключ и сертификат соответствуют командам:
openssl rsa -noout -modulus -in privateKey.key | openssl md5
openssl x509 -noout -modulus -in certificate.crt | openssl md5
Затем создайте новый CSR:
openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key
Используйте CSR для повторного ввода сертификата.
Загрузите файл сертификата публикации программного обеспечения GoDaddy (.spc).
Убедитесь, что сгенерированный сертификат соответствует закрытому ключу запроса:
openssl pkcs7 -inform DER -in certificate.spc -print_certs
Затем скопируйте выходные данные для вашего сертификата (Примечание: выходные данные также будут содержать сертификаты CA):
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Сохранить в файл с именем certificate-new.crt
И выполните команду:
openssl x509 -noout -modulus -in certificate-new.crt | openssl md5
Выходные данные должны соответствовать предыдущему вызову, используемому с закрытым ключом и запросом сертификата.
Чтобы завершить процесс, выполните шаги, описанные в ответе, с помощью pvk2pfx.
Схема в этом посте также показалась мне весьма полезной:
PVK2PFX Ошибка 0x80070490 - Не удается найти сертификаты, соответствующие ключу