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

时间:2008-10-09 14:48:49

标签: .net windows wcf openssl certificate

我们有一个收缩包装类型的Windows服务器应用程序,我们需要在服务器上创建一个自签名证书,供某些WCF Web服务使用。从我们在网上的搜索看来,Microsoft的PlatformSDK中的makecert实用程序似乎无法与我们的应用程序一起分发,因此我们正在寻找替代方案。

有谁知道如何使用OpenSSL创建证书并将其放入Windows LocalMachine证书存储区?或者,或者直接将证书插入到.NET应用程序的商店中,我们应该使用openssl创建证书文件吗?任何帮助/建议将不胜感激。

5 个答案:

答案 0 :(得分:8)

[不幸的是,我还没有评论任何内容,所以我会将此作为答案发布。]

我看到这篇文章有点旧了,但我在类似的船上,我在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

不确定某些内容是否已更改(如果我的解释是正确的),但看起来像makecert.exe作为Windows SDK的一部分包含在内,作为VS2008安装的一部分,它实际上可以重新分发。

答案 1 :(得分:8)

您现在可以使用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

答案 2 :(得分:2)

哇噢!现在是时候为你设置了

crypt32提供CertCreateSelfSignCertificate功能;如果成功,你可以将它存储在用户的个人商店(或机器商店,假设你工作得很高)

答案 3 :(得分:2)

我没有使用过OpenSSL,但是我在同一条船上,发现这篇文章很有帮助:

Securing WCF Services with Certificates

作者将指导您安装Microsoft证书服务,创建可以添加到受信任证书颁发机构的CA(在客户端和服务器上,因为它是自签名的),然后生成从自身链接的客户端和服务器证书签署CA证书。

您不需要客户端证书,但它确实可以帮助您创建自签名CA和服务器证书。

答案 4 :(得分:2)

以编程方式生成证书的另一种方法是Bouncy Castle的C#-version。 http://www.bouncycastle.org/csharp/