数字证书与https协议

来源:互联网 发布:二手货车估价软件 编辑:程序博客网 时间:2024/06/05 19:10

数字证书电子证书,类似于日常生活中的身份证,也是另外一种形式的身份认证,用于标识网络中的用于身份。数字证书集合了多种密码学的加密算法,证书自身带有公钥信息,可以完成相应的加密、解密操作。同时,还拥有自身信息的数字签名,可以鉴别证书的颁发机构,以及证书内容的完整性。
配置Tomcat使用https协议
在配置之前,先了解一下https协议。HTTPS能够加密信息,以免敏感信息被第三方获取。所以很多银行网站或电子邮箱等等安全级别较高的服务都会采用HTTPS协议。HTTPS协议位于应用层和网络层之间,它其实由两部分组成:HTTP + SSL / TLS,也就是在HTTP上又加了一层处理加密信息的模块。服务端和客户端的信息传输都会通过TLS进行加密,所以传输的数据都是加密后的数据。
一般在个人访问网站时,为了保证安全性,很多网站提供了安全证书。网站服务器端提供证书,该证书中包含了一个RSA公钥。浏览器,也就是客户端通过该证书进行安全性验证,如果该证书是值得信任的,就通过该证书中的公钥来对一个对称加密密钥进行加密。服务器端则通过RSA私钥进行解密,得到客户端传输过来的对称密钥。这个对称密钥是用来对双方在传输过程中的信息进行加密的。由于只能通过RSA私钥对这个加密过的对称密钥进行解密,所以就算双方传输的信息被中途截获,也无法破解密钥从而对传输的信息进行解密(这里要求对对称机密机制和非对称加密机制有一定了解),从而保证了数据传输的安全性。
配置tomcat使用https协议访问其实很简单,主要有以下步骤:
(1) 生成服务器的证书
在jdk的bin目录下,通过以下命令来生成服务器端的证书:keytool -genkey -alias tomcat -keyalg RSA -keystore D:/keys/tomcat.keystore,-alias指明别名,-keystore指明证书生成的路径。
在此过程中,需要设置以下内容:
这里写图片描述
密钥库口令自己设置,默认是changeit。完成之后在D盘相应目录下生成服务器证书。
注意:D:/keys/ 目录需要提前手动创建好,否则会生成失败; 提示输入域名(也就是名字和姓氏)的时候不能输入IP地址。
(2) 导出服务器证书
生成的证书需要进一步导出为cer:
keytool -export -alias tomcat –keystore D:/keys/tomcat.keystore -file D:/keys/comcat.cer。第一个路径是生成的证书的路径,第二个路径是导出之后的证书路径。完成之后会在D:/keys下生成证书文件。
(3) 双击该证书,安装到浏览器,选择自动选择证书颁发机构类型。
(4) 设置tomcat的server.xml,如下图所示。
这里写图片描述
注意这里clientAuth默认为false,不修改。表示客户端单方面需要验证服务器端证书。在上面的步骤中也只单方面提供了证书。

(5) 访问时需按照之前输入的域名来访问,所以还需要在host文件中添加一行:127.0.0.1 你的姓名和姓氏(域名)
(6) 启动tomcat,通过https://”你的姓名和姓氏”(之前输入的):8443来访问服务器。会发现现在的链接是https的了。

0 0
原创粉丝点击