WCF场景中的自签名证书性能

WCF场景中的自签名证书性能,wcf,performance,certificate,Wcf,Performance,Certificate,我了解到自签名证书存在性能问题(例如),但具体是哪一个?我猜这可能与撤销检查或其他相关,但不确定 我不同意使用由创建的证书时出现的“性能问题” 如果创建的证书中不包含吊销信息,则不会因为吊销而导致性能损失。可能使用自签名证书的唯一特定事项如下:您应该将自签名证书包括在根证书存储(受信任的根证书颁发机构)中,或者更好地包括在AuthRoot证书存储(第三方根证书颁发机构)中在所有将使用它的计算机上。在此之后,在大多数情况下,您的自签名证书不会比VeriSign根证书更有价值。当然,这种方法只能在一

我了解到自签名证书存在性能问题(例如),但具体是哪一个?我猜这可能与撤销检查或其他相关,但不确定

我不同意使用由创建的证书时出现的“性能问题”

如果创建的证书中不包含吊销信息,则不会因为吊销而导致性能损失。可能使用自签名证书的唯一特定事项如下:您应该将自签名证书包括在
根证书存储(受信任的根证书颁发机构)中,或者更好地包括在
AuthRoot
证书存储(第三方根证书颁发机构)中在所有将使用它的计算机上。在此之后,在大多数情况下,您的自签名证书不会比VeriSign根证书更有价值。当然,这种方法只能在一家公司内部使用,并且很难在具有大量独立客户端计算机的企业场景中使用

顺便说一句,就实用性而言,可以创建一个简单的PKI。例如,您可以创建迷你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
开关中选择不同的增强密钥使用OID,具体取决于您希望使用证书的场景

要在
AuthRoot
证书存储(第三方根证书颁发机构)中添加迷你CA的根证书,我们可以使用例如实用程序

如果场景需要,您还可以创建和使用它


有关更多示例,请参阅和其他。

我还对OP引用的文章中的性能问题感到惊讶。“这些证书也有性能问题,某些加密操作在使用时可能执行缓慢。从真正的证书颁发机构颁发的证书没有此问题,这是一个已知问题。“:我希望链接或更多信息表明这是真实的,这确实是一个已知问题。@布鲁诺:如果您查看“从真正的证书颁发机构颁发的证书”的内部,您将看不到任何特定内容。例如,您可以导出”在%TEMP%\VeriSign.cer中使用VeriSign Trust Network“证书或自签名的“Microsoft根权限”证书,并使用
certutil.exe-dump%TEMP%\VeriSign.cer
certutil.exe-asn%TEMP%\VeriSign.cer
检查其包含内容。您将找不到任何使其成为“真正的证书权限”的内容“。证书必须与X.509相对应,并且没有隐藏的功能。如果你把一个证书放在
Root
certificate store中,你也会得到同样的证书。@Oleg,的确,我同意你的看法,我的问题是。(据我所知,使某些大型CA证书与其他证书不同的唯一原因是EV证书,它们在浏览器中硬编码,但这可能与这个问题没有任何关系,特别是因为该博客条目显然是在2006年编写的,而EV证书在当时并不存在。)@布鲁诺:我的回答是从我不同意你提到的那篇文章开始的。我如何知道IE或其他浏览器和WFC中没有特殊的硬编码证书。扩展验证CA证书(或其指纹)在浏览器中硬编码,这是EV证书规范的要求。以下是示例。(诚然,这不完全是证书,但它是允许使用CA证书获得绿色条的DN和指纹。)
CertMgr.exe -add -c MyCompany.cer -s -r localMachine AuthRoot