Как сгенерировать PKCS12 (.p12) из ​​.SPC (сертификат подписи кода) и .PKCS12 (закрытый ключ)? - PullRequest
1 голос
/ 02 февраля 2012

У меня есть файл сертификата подписи кода (SPC) от GoDaddy.Файл был сгенерирован из существующего закрытого ключа:

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAvcG2SEalg9pvkTvtMI8cZg07tVA0RuK7LeGlFdk1smXgqrsH
.... snipped ....
MURwR0FXgNAuFNQ0yBNFNW2+o9uBceLuCSUalgi4pQw1uBmP5QkUYA==
-----END RSA PRIVATE KEY-----

Я сгенерировал запрос на подпись сертификата и отправил его в GoDaddy:

-----BEGIN CERTIFICATE REQUEST-----
MIICiDCCAXACAQAwQzFBMD8GCSqGSIb3DQEJARYyYXBwbGVAdGVrNC1uZXdtZWRp
.... snipped ....
nJwd9pSDPuYaNHl33N1BJkXFusG7ta0D6UjisA==
-----END CERTIFICATE REQUEST-----

GoDaddy, а затем вернул мне файл SPC.Мои исследования показывают, что обычно у вас есть пара SPC / PVK, но, очевидно, мой закрытый ключ не относится к типу PVK.Я пробовал несколько методов (pvkimprt, pvk2pfx, openssl, keytool), но не могу конвертировать мой ключ в тип PVK или мой SPC в тип PKCS12 независимо без наличия сертификата (SPC) и закрытого ключа в одном ключе.-store.

Команда, которая, как мне кажется, должна сделать это за один шаг: openssl pkcs12 -in cert_from_godaddy.spc -inkey private.key -export -out full_code_signing_chain.pkcs12

Однакозапускается, что я только что получил: Загрузка «экрана» в случайное состояние - готово Нет сертификата соответствует закрытый ключ

Но сертификат (SPC) для закрытого ключа.Что я делаю не так?!

Справочная информация. Я пытаюсь создать файл .p12, подписать приложение Adobe AIR

Ответы [ 3 ]

1 голос
/ 03 февраля 2012

Если честно, я совсем не могу понять, что вы пытаетесь сделать.

Вы вернули файл SPC, который представляет собой кодировку # PKCS7 с вашим сертификатом.

У вас также есть свой закрытый ключ.

Все, что вам нужно сделать, это импортировать сертификат в хранилище ключей pkcs12, чтобы иметь подписанный сертификат с вашим закрытым ключом.

0 голосов
/ 31 марта 2017

Чтобы создать хранилище доверенных сертификатов P12 из личного ключа и файла SPC, выполните следующие действия с OpenSSL:

  1. (Необязательно): извлеките закрытый ключ из старого хранилища доверенных сертификатов P12:

openssl pkcs12 -in old.p12 -nocerts -out privateKey.pem

Извлечение цепочки сертификатов из файла SPC:

openssl pkcs7 -inform DER -outform PEM -in godaddy.spc -print_certs > certificates.pem

Создание нового склада доверенных сертификатов P12:

openssl pkcs12 -export -out new.p12 -inkey privateKey.pem -in certificates.pem

0 голосов
/ 05 августа 2015

Вот как я создал файл .p12 из файла .spc GoDaddy: 1. Щелкните правой кнопкой мыши myCert.spc, установите сертификат (чтобы установить .spc в Windows) 2. Дважды щелкните myCert.spc (чтобы открыть его в certmgr), экспортируйте в файл .cer. 3. Импортируйте этот файл .cer в Firefox. 4. Из Firefox: сделайте резервную копию только что импортированного файла, чтобы создать файл .p12.

Затем вы можете использовать этот файл .p12 для подписи вашего кода.

...