当前位置:  开发笔记 > 后端 > 正文

使用OpenSSL证书的WCF服务

如何解决《使用OpenSSL证书的WCF服务》经验,为你挑选了1个好方法。

我已经使用makecert生成的基本自签名证书(使用关于该主题的许多在线教程中的一些)运行我的WCF Web服务,但发现在生成makecert似乎无法处理的证书时我们需要某些功能.因此,我正在尝试使用OpenSSL创建我的证书,使用我们自己的CA(也使用OpenSSL生成)对其进行签名.我似乎正在创建和注册证书,但当我尝试查询Web服务时,我得到以下内容:

证书'[Cert Details]'必须有私钥.该进程必须具有私钥的访问权限.

尽管我可能尝试,我似乎无法让系统识别出我认为的私钥(也许我完全错了,我应该完全看看另一个文件......)任何人都可以提供一些sage建议到哪里我可能会出错?

我正在生成这样的证书:

# Generate key and certificate request
openssl req -new -newkey rsa:1024 -nodes -keyout MyCompany.key -out MyCompany.csr

# Generate certificate from certificate request
openssl ca -batch -in MyCompany.csr -out MyCompany.cert

然后,我可以使用机器证书存储区注册"Mycompany.cert"(在这种情况下,服务器和客户机都在localhost上运行),但MyCompany.key(我假设是私钥,是吗?)将不会导入,总是引用一种未知的文件格式.通过带有证书管理单元的"mmc"实用程序进行注册.

在我的客户端和服务器的Web.Config文件中,然后将以前(工作)的证书名称换成我的新证书的名称:



    
        
    
    




    
        
    
    

当然,这会产生我之前列出的错误.我知道它正在找到证书,因为它在错误中显示的细节都是正确的,但我显然遗漏了一些东西.那么我还需要做些什么来让WCF使用我的OpenSSL证书?

如果我的问题看起来很明显,或者我遗漏了一些关键信息,我很抱歉,但我对证书/ SSL场景很新,而且我已经拥有的很多东西都是我在黑暗中摸索的.我非常感谢能够启发我的人!



1> nitzmahone..:

Windows不了解OpenSSL的PEM密钥格式.生成密钥对后,您需要将它们塞入PKCS12(.pfx)格式,以便能够导入整个密钥对.就像是:

openssl pkcs12 -export -in yourcert.cer -inkey yourkey.pem -out output.pfx

然后像以前一样使用"证书"管理单元导入.pfx.系统将提示您输入导出期间提供的密钥密码,然后在查看"您拥有与此证书对应的私钥"的证书时,应该会看到小钥匙图标.

推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有