我有GoDaddy的代码签名证书(SPC)文件。该文件是从现有私钥生成的:
-----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应用程序
答案 0 :(得分:1)
说实话,我根本无法理解你想做什么。
您收回了SPC文件,该文件只是带有证书的#PKCS7 der编码。
您还拥有私钥。
您只需将证书导入pkcs12密钥库即可将签名证书与您的私钥一起使用。
答案 1 :(得分:0)
以下是我如何从GoDaddy的.spc文件创建.p12文件: 1.右键单击myCert.spc,安装证书(将.spc安装到Windows中) 2.双击myCert.spc(在certmgr中打开它),导出到.cer文件。 3.将.cer文件导入Firefox。 4.使用Firefox:备份刚刚导入的内容以创建.p12文件。
然后您可以使用该.p12文件对代码进行签名。
答案 2 :(得分:0)
要从私钥和SPC文件创建P12信任库,请使用OpenSSL执行以下步骤:
openssl pkcs12 -in old.p12 -nocerts -out privateKey.pem
openssl pkcs7 -inform DER -outform PEM -in godaddy.spc -print_certs > certificates.pem
openssl pkcs12 -export -out new.p12 -inkey privateKey.pem -in certificates.pem