我有.crt格式的GoDaddy颁发的SSL证书.此外,我还有以前过期的证书,其.pfx格式包括私钥.
现在我遇到了将原始私钥与颁发的证书相连以形成.pfx适合安装到Windows证书库的文件的问题.
我按照我在类似情况下成功使用的步骤来生成代码签名证书(在此Q/A对中记录在SO上).生成的证书适用于HTTPS,但不适用于WCF的Net.Tcp端点.使用此端点时,由于以下错误,无法初始化:
ArgumentException:证书'CN = domain.com,O ="Company",L = Abc,S = Abc,C = XY'可能没有能够进行密钥交换的私钥,或者该流程可能没有私钥的访问权限.详情请见内部异常.
一些消息来源声称有必要使用www.domain.com而不是domain.com.虽然在某些情况下这可能是问题,但事实证明这不是我的根本原因.
什么可能是这个问题的根本原因以及如何解决这个问题?
Ond*_*cny 13
问题是从.spc作为中间格式创建的证书,由于遵循此答案中的步骤而导致丢失该KeyExchange标志.
.crt使用私钥加入的正确方法是使用.pem格式的私钥,如下所示:
Ssl.crt从GoDaddy 获取新证书.从过期的PFX导出PEM格式的私钥:
openssl.exe pkcs12 -in ExpiredSslCert.pfx -nocerts -out SslPrivateKey.pem
Run Code Online (Sandbox Code Playgroud)将CRT和PEM结合到PFX中:
openssl.exe pkcs12 -export -in SslCert.crt -inkey SslPrivateKey.pem -out FullCert.pfx
Run Code Online (Sandbox Code Playgroud)所产生的.pfx现在拥有的KeyExchange标志,并适用于WCF的net.tcp绑定.
| 归档时间: |
|
| 查看次数: |
1425 次 |
| 最近记录: |