Home > 职场 > 如何架设一个受信任的SSL网站

如何架设一个受信任的SSL网站

January 10th, 2007

在日常生活中,我们经常上网上银行,网上支付一类的安全网站。如工行招行的网上银行,支付宝QQ帐号服务中心,等等等。。。以IE为例,如下图所示,访问以上网站的时候都有一个共同的特点,工具栏上都有一把黄色的小锁,表示这是安全网站。
ssl-3.JPG
所谓的安全网站,就是用户端与服务器之间进行了端到端的加密,如果网络中有无聊的偷窥者的话,他们不再可以看到你上网的信息。而在你上没有这样一把黄锁的网站的时候,你上网的所有内容,都可以由网络中间一些偷窥者进行过滤分析。。。。(当然这个得看水平了)因为这样的过程如此的平常,以至于我们在没有察觉的情况下就进入这些所谓的安全网站了。

如果想要自己建一个安全网站,需要做些什么呢?本文以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网站的时候会有下图一样的“安全警告”,点“查看证书”

ssl-1.JPG
图1:安全警报

即出现如下图所示的对话框,点“安装证书”,按照提示进行即可把这个证书安装到IE浏览器中。

ssl-2.JPG
图2:安装证书

回到“安全警报”的提示框,点“是”,即可访问这个安全网站了。下一次再访问这个网站的时候,就不会再出现“安全警报”了。

详细的说明可以参照Oreilly的《Apache经典实例》中的第七章,里面的文字描述比我更专业且更详细,只是没有上面的几幅图罢了。:)

saphires 职场

  1. ff
    January 10th, 2007 at 19:13 | #1

    啊,好,我每次登录vpn都让我点证书,烦死了,下次试试

  2. January 10th, 2007 at 19:15 | #2

    我实在没有预料到这个能对你派上用处-_-!!

  3. ff
    January 10th, 2007 at 19:15 | #3

    骗人。。。安装了也还是出现那个框框。。。烦。。。

  4. January 10th, 2007 at 19:16 | #4

    如果是真证书的话应该没问题,如果是假证书的话就难了。。很可能第三个勾儿那个地方是感叹号。。。

  5. January 10th, 2007 at 19:47 | #5

    框框上感叹号后面的字是什么?

  6. Eki
    January 10th, 2007 at 21:09 | #6

    你娃这个网站到底受不受信啊?

  7. ff
    January 10th, 2007 at 21:25 | #7

    哪有感叹号啊?那个证书加叉小图图后面的字是,无法将这个证书验证到一个受信任的颁发机构。。。

  8. January 10th, 2007 at 23:13 | #8

    明天抓个图给我看看

  9. January 10th, 2007 at 23:14 | #9

    我这个不是安全网站,你们在这里说的每一个字都可能被别人窃听。。。

  10. ff
    January 10th, 2007 at 23:57 | #10

    ==,有必要窃听么。。。想看还不都是随便看的。。。

  11. DD
    January 11th, 2007 at 07:11 | #11

    ssl?跟ssh有啥关系吗?

  12. January 11th, 2007 at 07:45 | #12

    看来还得出篇普及型文章啊。。。

  13. January 11th, 2007 at 09:33 | #13

    补充,一般这类证书是自签名的,所以无法自动认证,需要加入到信任的根证书里,以上针对ie

    firefox 类对于自签名的证书,会弹出一个提示的对话框,可以选择永远接受该证书

  14. DD
    January 11th, 2007 at 20:44 | #14

    我喜欢firefox的颜色

  15. snake
    January 12th, 2007 at 08:38 | #15

    我安装完证书后,还是会出现安全警报……

  16. January 12th, 2007 at 09:14 | #16

    关于这个问题,我打算再开一篇博来说明一下各种case

  1. January 12th, 2007 at 11:40 | #1