Windows中没有makecert的自签名证书?

我们有一个收缩包装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/