如何架设一个受信任的SSL网站
在日常生活中,我们经常上网上银行,网上支付一类的安全网站。如工行,招行的网上银行,支付宝,QQ帐号服务中心,等等等。。。以IE为例,如下图所示,访问以上网站的时候都有一个共同的特点,工具栏上都有一把黄色的小锁,表示这是安全网站。
所谓的安全网站,就是用户端与服务器之间进行了端到端的加密,如果网络中有无聊的偷窥者的话,他们不再可以看到你上网的信息。而在你上没有这样一把黄锁的网站的时候,你上网的所有内容,都可以由网络中间一些偷窥者进行过滤分析。。。。(当然这个得看水平了)因为这样的过程如此的平常,以至于我们在没有察觉的情况下就进入这些所谓的安全网站了。
如果想要自己建一个安全网站,需要做些什么呢?本文以Apache和IE为例,分别介绍一下服务端和浏览器端需要的配置,以及在这个过程中需要注意的地方。
0. 准备工作
首先找台Linux,准备好一个Apache,以及OpenSSL工具包。具体这些玩意儿去哪找,怎么装怎么配怎么跑怎么用,不在本文描述范围内。以下工作的前提,是已经有一个可用的httpd在你的Linux上跑起来了。:)
1. 服务端配置
openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 1825 -in server.csr -signkey server.key -out server.crt
然后把server.key和server.crt拷贝apache的conf目录(或其它任何地方),在httpd.conf里面加上以下两句配置:
SSLCertificateFile /usr/local/httpd/conf/server.crt
SSLCertificateKeyFile /usr/local/httpd/conf/server.key
然后重启服务器就好了。
这里需要注意的是openssl的第二步,在产生server.csr过程中,会有很多的交互性问题。对“Common Name (eg, your name or your server’s hostname) []”一项要特别注意,一定要填得跟你最后网站的域名一致。因为在访问的时候,浏览器会用你访问的网址与证书中的地址做对比,如果对应不上,就会出现“安全警报”,而这个“安全警报”是非常annoying的。之所以工行一样的网站没有这个“安全警告”,是因为他们的证书是由Verisign这样的官方组织发布的,而我们这里的证书只是自己造的一个“野证书”,所以IE才会警告。一般情况下,如果你一定要访问这个网站,你也只能点“是”了,没有其它的选择。
2. 浏览器端配置
IE在打开SSL网站的时候会有下图一样的“安全警告”,点“查看证书”
图1:安全警报
即出现如下图所示的对话框,点“安装证书”,按照提示进行即可把这个证书安装到IE浏览器中。
图2:安装证书
回到“安全警报”的提示框,点“是”,即可访问这个安全网站了。下一次再访问这个网站的时候,就不会再出现“安全警报”了。
详细的说明可以参照Oreilly的《Apache经典实例》中的第七章,里面的文字描述比我更专业且更详细,只是没有上面的几幅图罢了。:)
啊,好,我每次登录vpn都让我点证书,烦死了,下次试试
我实在没有预料到这个能对你派上用处-_-!!
骗人。。。安装了也还是出现那个框框。。。烦。。。
如果是真证书的话应该没问题,如果是假证书的话就难了。。很可能第三个勾儿那个地方是感叹号。。。
框框上感叹号后面的字是什么?
你娃这个网站到底受不受信啊?
哪有感叹号啊?那个证书加叉小图图后面的字是,无法将这个证书验证到一个受信任的颁发机构。。。
明天抓个图给我看看
我这个不是安全网站,你们在这里说的每一个字都可能被别人窃听。。。
==,有必要窃听么。。。想看还不都是随便看的。。。
ssl?跟ssh有啥关系吗?
看来还得出篇普及型文章啊。。。
补充,一般这类证书是自签名的,所以无法自动认证,需要加入到信任的根证书里,以上针对ie
firefox 类对于自签名的证书,会弹出一个提示的对话框,可以选择永远接受该证书
我喜欢firefox的颜色
我安装完证书后,还是会出现安全警报……
关于这个问题,我打算再开一篇博来说明一下各种case