Netscape公司首先使用了SSL协议,SSL协议全称为:安全套接层协议(Secure Sockets Layer),它指定了在应用程序协议(如HTTP、Telnet、FTP)和TCP/IP之间提供 数据安全 性分层的机制,它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术,它为TCP/IP连接提供 数据加密 、服务器认证、消息完整性以及可选的客户机认证。由于SSL协议很好地解决了互联网明文传输的不安全问题,很快得到了业界的支持,并已经成为国际标准。
通常,SSL证书包括CA证书、服务器证书以及客户端证书,他们的区别主要在:
1、CA证书,也就是根证书。如果该证书不安全,即使安装了其他证书,浏览器也会提示不安全,但是在单向https认证中,该证书的安装是可选的。
2、服务器证书。SSL证书中必须要安装的证书之一,通过该证书的key生成csr文件,然后再通过CA证书签名,生成服务器的证书。
3、客户端证书。在双向https验证中,就必须有客户端证书,生成方式同服务器证书一样,单向证书则不用生成。
而证书的后缀主要有.key、.csr、.crt、.pem等,后缀一般是windows系统判断文件类型所使用的,Linux是不使用后缀名来判断文件名称的,但是由于约定成俗,我们一般都会添加这些后缀,以下简单介绍一下这些后缀文件的作用。
1、.key文件:密钥文件,SSL证书的私钥就包含在其中;
2、.csr文件:这个文件里面包含着证书的公钥和其他一些公司信息,通过请求签名之后就可以直接生出证书;
3、.crt文件:该文件中也包含了证书的公钥、签名信息以及根据不同类型证书携带不同的认证信息,如IP等(该文件在有些机构、系统中也可能表现为.cert后缀);
4、.pem文件:该文件相对比较少见,里面包含着证书的私钥以及部分证书信息。
SSL证书生成的方法根据系统的不同,方法方式也更有不同,如有需要,可以查看SSL.LA上的帮助文档,里面汇聚了几乎所有的SSL证书的方法。