Openssl 如何仅从给定的代码签名文件cer创建密钥和crt文件?

Openssl 如何仅从给定的代码签名文件cer创建密钥和crt文件?,openssl,certificate,ssl-certificate,code-signing,pfx,Openssl,Certificate,Ssl Certificate,Code Signing,Pfx,我有代码签名证书,从他们那里我只得到了一个X.cer文件。 当我需要签署我的.exe我需要一个PFX文件,我需要两个文件a.key和B.crt 问:如何从X.cer文件、A.key和B.crt中进行转换?这样我就可以开始第一步了 步骤1: $ openssl pkcs12 -inkey A.key -in B.crt -export -out GOAL.pfx 步骤2: signtool sign /debug /f GOAL.pfx /p MyPassword MyFile.exe or

我有代码签名证书,从他们那里我只得到了一个
X.cer
文件。
当我需要签署我的.exe我需要一个PFX文件,我需要两个文件a.key和B.crt

问:如何从X.cer文件、A.key和B.crt中进行转换?这样我就可以开始第一步了

步骤1:

$ openssl pkcs12 -inkey A.key -in B.crt -export -out GOAL.pfx
步骤2:

signtool sign /debug /f GOAL.pfx /p MyPassword MyFile.exe

or

signtool sign /debug /n "My Company Certificate" MyFile.exe
编辑:仍不清楚如何将该文件设置为.key文件

openssl pkcs12 -export -in X.cer -inkey A.key -out GOAL.pfx -certfile ??.cer

or

openssl pkcs12 -export -in X.cer -inkey A.key -out GOAL.pfx
中的
-指定要嵌入到输出文件(代码符号正式文件)中的输入证书

-inkey
指定使用OpenSSL生成的密钥文件(??????????如何?)

-out
告诉openssl输出文件(PFX文件)所需的名称


-certfile
用于指定要添加到输出pfx文件的附加证书(可以忽略)可选。

注意:许多专家认为并完全忽略了“您没有密钥文件”,请注意这是正常的,许多供应商不要求他们自己制作的关键文件,只提供PFX或CER文件。结果它变得令人困惑,就像我的案例一样

1) 创建一个.key

$ openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
Generating a 2048 bit RSA private key
...............+++
....................+++
writing new private key to 'privateKey.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:BE
State or Province Name (full name) [Some-State]:Oost-Vlanderen
Locality Name (eg, city) []:Dendermonde
Organization Name (eg, company) [Internet Widgits Pty Ltd]:TEST
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:NAME of DEVLOPER
Email Address []:email@domain.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

$ ls
CSR.csr     privateKey.key
2) 要让B.crt重新命名X.cer即可

3) 最后应用

openssl pkcs12 -export -in X.cer -inkey A.key -out GOAL.pfx
编辑:终于完成了,我还没有密钥文件。供应商给了我PFX文件

C:\Program Files (x86)\Windows Kits\8.0\bin\x86>signtool.exe sign /debug /f C:\Users\sun\Downloads\s.pfx /p 1234password C:\Users\sun\Downloads\IeAddOnDemo\IeAddOnDemo\bin\Debug\IeAddOnDemo.dll

The following certificates were considered:
    Issued to: xxxxN.V./S.A.
    Issued by: GlobalSign CodeSigning CA - SHA256 - G2
    Expires:   Wed Apr 08 18:13:59 2015
    SHA1 hash: xxxxx

    Issued to: GlobalSign CodeSigning CA - SHA256 - G2
    Issued by: GlobalSign
    Expires:   Fri Aug 02 12:00:00 2019
    SHA1 hash: xxxxxx

After EKU filter, 2 certs were left.
After expiry filter, 2 certs were left.
After Private Key filter, 1 certs were left.
The following certificate was selected:
    Issued to: xxxN.V./S.A.
    Issued by: GlobalSign CodeSigning CA - SHA256 - G2
    Expires:   Wed Apr 08 18:13:59 2015
    SHA1 hash: xxx


The following additional certificates will be attached:
    Issued to: GlobalSign CodeSigning CA - SHA256 - G2
    Issued by: GlobalSign
    Expires:   Fri Aug 02 12:00:00 2019
    SHA1 hash: xxxx

Done Adding Additional Store
Successfully signed: C:\Users\sun\Downloads\IeAddOnDemo\IeAddOnDemo\bin\Debug\IeAddOnDemo.dll

Number of files successfully Signed: 1
Number of warnings: 0
Number of errors: 0

可能的副本。问题中提供的答案将引导您完成从签名证书、私钥和中间证书创建PFX文件的所有步骤。抱歉,您共享的链接没有解释如何获取.key文件?这里提出的不是重复的问题。购买代码标志后,我现在只有一个名为CER的文件,我需要准备所有其他文件,这很混乱,所有答案都没有准确解释。你应该有钥匙。您可以使用它来生成请求。你在哪个平台上工作?这是针对Windows应用商店生态系统的吗(Microsoft保留您的私钥,这意味着它已经受到威胁)?Linux和Mac平台。我不知道我曾经用于购买代码签名的密钥文件。我从来没有密钥文件上传代码签名。我只有一个文件调用CER,在我的示例中,我将其命名为X.CER,除此之外,我没有A.key,我正在准备的B.crtPFX文件是针对Windows 7的。我通常每天使用Linux和Mac。。。。但是您从CA获得的签名证书与您刚才生成的密钥不起作用。您不能只为正在使用的任意公钥或证书生成私钥。在这种情况下,我该怎么办?因为我从来没有钥匙,也没有人让我给他们钥匙。他们只是给我发了一份证书,这只是一个CER文件。来解决这个问题。我已重新发出证书请求,导致证书颁发者发出的证书请求无效。在那里,我要求给我发送一个PFX文件格式。他们正在做这件事。请注意,许多供应商并没有从我们这里获取关键文件,他们自己生成所有这些文件。@jwww:请查看我详细的答案,最终它会起作用。我想我不太明白你有什么或者你想做什么。从私钥和证书创建PFX文件并不十分困难。从PFX文件中提取私钥也不难。我很抱歉没有理解你的需要。