1

我有一个来自 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),但如果证书 (SPC) 和私钥都在一个密钥中,我似乎无法独立地将我的密钥转换为 PVK 类型或将我的 SPC 转换为 PKCS12 类型-店铺。

我似乎需要一步完成的命令是: openssl pkcs12 -in cert_from_godaddy.spc -inkey private.key -export -out full_code_signing_chain.pkcs12

但是,运行我刚刚得到的:Loading 'screen' into random state - done 没有证书匹配私钥

但是,证书 (SPC) 用于私钥。我究竟做错了什么?!

背景:我正在尝试生成一个 .p12 文件签名 Adob​​e AIR 应用程序

4

3 回答 3

1

老实说,我根本无法理解您要做什么。

您取回了 SPC 文件,它只是带有您的证书的#PKCS7 der 编码。

你也有你的私钥。

您需要做的就是将证书导入 pkcs12 密钥库,以使用您的私钥获得签名证书。

于 2012-02-03T15:49:51.347 回答
0

以下是我从 GoDaddy 的 .spc 文件创建 .p12 文件的方法: 1. 右键单击​​ myCert.spc,安装证书(将 .spc 安装到 Windows 中) 2. 双击 myCert.spc(在 certmgr 中打开),导出到 .cer 文件。3. 将该 .cer 文件导入 Firefox。4. 使用 Firefox:备份刚刚导入的内容以创建 .p12 文件。

然后您可以使用该 .p12 文件对您的代码进行签名。

于 2015-08-05T15:40:52.197 回答
0

要从私钥和 SPC 文件创建 P12 信任库,请使用 OpenSSL 执行以下步骤:

  1. (可选):从旧的 P12 信任库中提取私钥:

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

  1. 从 SPC 文件中提取证书链:

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

  1. 创建新的 P12 信任库:

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

于 2017-03-31T10:34:54.633 回答