我想使用SSL (https)来保护通信安全。有没有可能在不购买某种证书的情况下做到这一点?
发布于 2009-06-01 13:03:55
您可以使用自签名证书(google it),但您的用户将收到一条消息,指出证书无效。然而,流量仍将是加密的。
您必须向第三方支付“有效”SSL证书的原因是,SSL证书的部分目的是验证服务器的真实性。如果任何人都可以颁发带有他们想要的任何信息的SSL证书,那么是什么阻止我使用walmart.com的联系信息设置SSL证书,并欺骗用户认为我的站点是walmart.com的分支?
简而言之,你可以免费获得加密部分,但如果你想避免浏览器身份警告,你需要支付第三方证书。
发布于 2009-06-01 13:03:39
您可以使用self sign a cert,也可以从cacert.org或相关的免费签名社区获取一个。大多数浏览器都会抛出警告,所以你不应该为了生产而抛出警告(如果你是电子商务),但在开发过程中,或者如果你不关心警告,这是一个便宜的替代方案
发布于 2009-06-01 13:18:20
正如其他人所说,您可以简单、轻松地使用自签名证书或设置自己的证书颁发机构(CA),然后根据需要颁发任意数量的证书。所有这些证书都与大型CA颁发的“商业”证书一样有效,因此您的证书与verisign颁发的证书在技术上没有区别。
大多数浏览器和其他客户端应用程序对您的证书发出警告的原因是,它们不知道您的CA,因此不信任您的CA。浏览器通常带有数百个众所周知的CA证书,每个人都会自动信任(如果这是一件好事,那么……),所以当你通过HTTPS访问amazon.com时,你不会收到警告。在Firefox中,您可以转到“首选项”>“高级”>“加密”>“查看证书”来查看您的浏览器当前信任哪些CA或单个证书。
最后,这是一个你和你的服务的用户信任谁的问题。如果您的用户认识并信任您(例如在公司网络或小型开发团队中),他们可以将您的can证书添加到其浏览器中的受信任证书中。从那时起,您自己的CA颁发的每个证书都不会生成任何警告,并且将像其他证书一样受到信任。
https://stackoverflow.com/questions/934713
复制相似问题