我们有一个收缩包装types的Windows服务器应用程序,我们需要在服务器上创build一个WCF Web服务使用的自签名证书。 从我们在网上的search看来,来自Microsoft的PlatformSDK中的makecert工具不能与我们的应用程序一起分发,所以我们正在寻找替代scheme。
有谁知道如何使用OpenSSL来创build一个证书,并将其放入Windows LocalMachine证书存储? 或者,也可以直接将证书插入到.NET应用程序的商店中,我们是否应该使用openssl创build证书文件? 任何帮助/build议,将不胜感激。
[不幸的是,我还无法评论任何内容,所以我会将其作为回答。]
我看到这个帖子有点旧了,但是我在一个类似的船上,在Visual Studio 2008 redist.txt文件中发现了这个:
Windows SDK Files Subject to the license terms for the software, the following files may be distributed unmodified: MageUI.exe Mage.exe Makecert.exe
不知道是否有什么改变(如果我的解释是正确的),但它看起来像包括作为Windows SDK的一部分,作为VS2008安装的一部分包括makecert.exe实际上可以重新分配。
您现在可以使用PowerShell创建自签名证书您需要的命令是New-SelfSignedCertificate和Export-PfxCertificate。 例如:创建一个证书
New-SelfSignedCertificate -certstorelocation cert:\localmachine\my -dnsname orin.windowsitpro.internal
导出它
Export-PfxCertificate -cert cert:\localMachine\my\CE0976529B02DE058C9CB2C0E64AD79DAFB18CF4 -FilePath e:\temp\cert.pfx -Password $pwd
这个链接真的很有帮助
http://windowsitpro.com/blog/creating-self-signed-certificates-powershell
呜呼! 现在是时候为你挑选了
crypt32提供一个CertCreateSelfSignCertificate函数; 如果成功,您可以将其存储在用户的个人存储(或假设您正在升级的机器商店)
我没有使用OpenSSL,但是我在同一条船上,发现这篇文章很有帮助:
使用证书保护WCF服务
作者引导您安装Microsoft证书服务,创建一个可以添加到可信证书颁发机构(在客户端和服务器上,因为它是自签名的)的CA,然后生成从自签名CA证书链中链接的证书。
您不需要客户端证书,但它确实帮助您创建自签名的CA和服务器证书。
Bouncy Castle的C#版本是编程生成证书的另一种方法。 http://www.bouncycastle.org/csharp/