为什么Makecert.exe“仅用于测试目的”?

时间:2011-08-16 15:35:34

标签: .net security

http://msdn.microsoft.com/en-us/library/bfsktky3%28v=VS.100%29.aspx声明makecert工具仅用于测试目的。

我意识到您不希望在生产方案中分发自签名证书,但该工具还允许您使用颁发者证书签署证书。那么,从证书颁发机构购买证书是否有意义,尽可能保持安全,并且仅用于签署其他证书(可能由makecert生成)?在这种情况下,如果其中一个证书被泄露,您可以撤销它并发出新证书而不购买另一个证书。

2 个答案:

答案 0 :(得分:4)

除非您是证书颁发机构(CA),否则您希望如何可靠地撤销这些证书?

我将引用webmasters.stackexchange.com关于自签名证书的答案:

  

一般来说,使用自签名证书是不好的。如果那样做的话   你冒着风险,当人们得到你的网站时,他们会离开你的网站   关于你的证书不好的警告。更重要的是,你正在运行一个   让某人在他们使用的地方进行注射攻击的风险更大   他们自己签署的证书代替你和访客   不知道更好。

     

查看这里的文章,   http://www.sslshopper.com/article-when-are-self-signed-certificates-acceptable.html   有关它的更多信息。

     

正如亚当在评论中所说,我会尝试   http://www.startssl.com/?app=1。如果这不符合您的需求,我知道   GoDaddy在这里以低至24.99美元/年的价格出售证书,   http://www.godaddy.com/ssl/ssl-certificates.aspx?ci=9039

答案 1 :(得分:1)

如果您使用购买的证书签署其他证书,那么这些证书将被浏览器拒绝,因为您购买的证书没有设置CA位,并且不应该。

如果您可以使用有效购买的证书颁发证书并让浏览器接受这些证书,那么什么会阻止您发布google.com证书并进行中间人攻击。

另一方面,最近iOS中存在一个错误,允许您在没有警告的情况下使用非CA颁发的证书。