我不同意文章 http://weblogs.asp.net/cibrax/archive/2006/08/08/Creating-X509-Certificates-for-WSE-or-WCF.aspx关于使用创建的证书时的“性能问题”生成证书程序 http://msdn.microsoft.com/en-us/library/bfsktky3.aspx.
如果创建的证书中不包含吊销信息,则吊销不会导致性能损失。可能唯一特定于使用自签名证书的事情如下:您应该将自签名证书包含在Root
证书存储(受信任的根证书颁发机构)或更好的AuthRoot
证书存储(第三方根证书颁发机构)在所有将使用它的计算机上。此后,在大多数情况下,您的自签名证书将不再比 VeriSign 根证书更有价值。当然这种方式只能在一个公司内部使用,在拥有大量独立客户端计算机的企业场景中很难使用。
顺便说一下,可以创建一个简单的 PKI生成证书程序 http://msdn.microsoft.com/en-us/library/bfsktky3.aspx公用事业。例如,您可以创建迷你 CA 的自签名根证书:
MakeCert.exe -pe -ss MY -a sha1 -cy authority -len 4096 -e 12/31/2020 -r
-n "CN=My Company Root Authority,O=My Company,C=DE" MyCompany.cer
那么您可以创建一个额外的子证书
MakeCert.exe -pe -ss MY -a sha1 -len 2048 -e 12/31/2020 -eku 1.3.6.1.5.5.7.3.2
-n "CN=My Name,O=My Company" -sky exchange
-is MY -in "My Company Root Authority"
您可以在eku
切换取决于您想要使用证书的场景。
将您的迷你 CA 的根证书添加到AuthRoot
例如,我们可以使用证书存储(第三方根证书颁发机构)证书管理器 http://msdn.microsoft.com/en-us/library/e78byta0.aspx utility
CertMgr.exe -add -c MyCompany.cer -s -r localMachine AuthRoot
您还可以创建和使用证书吊销列表文件 http://msdn.microsoft.com/en-us/library/ff647171.aspx如果您的场景需要的话。
See 如何:创建临时证书以供开发期间使用 http://msdn.microsoft.com/en-us/library/ms733813.aspx和别的如何文章 http://msdn.microsoft.com/en-us/library/ff648902.aspx了解更多示例。