通过加密套接字协议层,我们可以使用Apache Web服务器、Microsoft IIS或者其他免费或商业Web服务器,与浏览器之间进行安全的通信。使用Apache产品,我们可以使用类似于UNIX的操作系统。这肯定比IIS更可靠一些,但是也更难安装和配置。当然,也可以选择在Windows平台下使用Apache。
在IIS上使用SSL包括简单地安装IIS,生成一个密钥对,以及安装证书。在Apache上使用SSL要求安装OpenSSL,以及在服务器软件的安装过程启用mod_ssl模块。
“你可以在获得蛋糕以后再吃掉它”,就像购买商业版的Apache一样。若干年以来,Red Hat一直在销售Stronghold产品,它如今已经捆绑在Red Hat企业版本的Linux产品上。通过购买这样的解决方案,我们即可以获得Linux的可靠性,同时它又是一个简易安装的产品并有厂商的技术支持。
在附录A中,我们给出了两个最流行的Web服务器Apache和IIS的安装说明。在生成自己的数字证书以后,就可以立即开始使用SSL了,但是Web浏览器将向网站访问者发出警告,警告将告诉访问者,证书是你自己签发的。要有效地使用SSL,还需要一个认证授权公司颁发的一个证书。
对于不同的CA公司来说,获取证书的确切过程各不相同,但是一般地说,需要向CA证明公司是法律承认的公司,有确切的实际地址并且拥有相关域名。
必须生成一个证书签发请求(CSR)。而证书生成过程在不同的服务器之间各不相同。
其用法说明在CA的网站上可以找到。Stronghold和IIS提供一个对话框驱动的过程,而Apache要求输入命令。然而,对所有服务器来说,该请求过程是基本相同的。最终结果是一个加密的签发请求证书(certificate signing request,CSR)。CSR看起来应该类似于如下:
---BEGIN NEW CERTIFICATE REQUEST---
MIIBuwIBAAKBgQCLn1XX8faMHhtzStp9wY6BVTPuEU9bpMmhrb6vgaNZy4dTe6VS
84p7wGepq5CQjfOL4Hjda+g12xzto8uxBkCDO98Xg9q86CY45HZk+q6GyGOLZSOD
8cQHwh1oUP65s5Tz018OFBzpI3bHxfO6aYelWYziDiFKp1BrUdua+pK4SQIVAPLH
SV9FSz8Z7IHOg1Zr5H82oQOlAoGAWSPWyfVXPAF8h2GDb+cf97k44VkHZ+Rxpe8G
ghlfBn9L3ESWUZNOJMfDLlny7dStYU98VTVNekidYuaBsvyEkFrny7NCUmiuaSnX
4UjtFDkNhX9j5YbCRGLmsc865AT54KRu31O2/dKHLo6NgFPirijHy99HJ4LRY9Z9
HkXVzswCgYBwBFH2QfK88C6JKW3ah+6cHQ4Deoiltxi627WN5HcQLwkPGn+WtYSZ
jG5tw4tqqogmJ+IP2F/5G6FI2DQP7QDvKNeAU8jXcuijuWo27S2sbhQtXgZRTZvO
jGn89BC0mIHgHQMkI7vz35mx1Skk3VNq3ehwhGCvJlvoeiv2J8X2IQIVAOTRp7zp
En7QlXnXw1s7xXbbuKP0
---END NEW CERTIFICATE REQUEST---
拥有一个CSR,缴纳相应的会费,提交证明你存在的文档,并验证你正在使用的域名与商业文档中的域名一致,就可以与CA签订一个证书了。
CA颁发证书之后,必须将证书保存到系统中并告诉Web服务器它的地址。最终的证书只是一个文本文件,它看起来如前面显示的CSR。