- 内网数字证书的生成与使用
- SSL加密原理
- Java生成数字证书
- 服务器间的数字证书应用
虽然在企业内网之间,通过http明文访问,安全性的影响不大,因为服务器之间主要依靠内外网防火墙隔离来保证安全性,但是考虑到有一些数据的敏感性,通过ssl加密服务器之间的数据传输,能够大大提高安全性。比如黑客突破防火墙进入内网后,可能截取数据,这些在电影中经常上演。所以在服务器之间,或者部分重要服务器上,要求使用数字证书访问,是有一定的作用的。
但是如果有外部CA机构颁发证书,需要额外的成本,且因为数据并不发布到公网上,也没有必要做此类工作,可以通过Java自带的证书生成工具来实现。
SSL加密原理
通俗的讲就是通过非对称密钥算法,通过握手协议,客户端利用公钥加密密码,服务器端收到后通过私钥解密获得客户端的密码,然后服务器端以客户端的密码加密内容将数据发送给客户端,客户端由于保持通路时存储了发送的密码,于是通过密码解密,得到传输的内容。具体可以见引用别人的文章
SSL原理
在Java安装路径bin目录下,有keytool.exe文件
1、生成KeyStore文件
keytool -genkey -validity 360 -alias www.baidu.com -keyalg RSA -keystore d:\baidu.keystore
其中
-genkey表示生成密钥
-validity指定证书有效期(天)
-alias指定别名
-keyalg指定算法,公钥算法一般RSA
-keystore指定存储位置,这里是d:\baidu.keystore
2、生成自签名证书
证书就是外部使用的公钥,是给客户端使用的。
keytool -export -keystore d:\baidu.keystore -alias www.baidu.com -file d:\baidu.cer -rfc
-export指定为导出 *** 作
-keystore指定keystore文件
-alias指定导出keystore文件中的别名
-file指向导出路径
-rfc以文本格式输出,也就是以BASE64编码输出
目前以Tomcat启用ssl应用为例,其他的容器可以参考具体容器的使用方案。
一、打开conf/server.xml被注释的配置
取消相关注释
二、指定对应的keystore文件
如上文的baidu.keystore,当然若生成keystore时,忘记指定路径,则默认是在C:\Users<账号名称>下,有一个.keystore的文件。将该文件复制到server.xml的同目录下
第三步,配置server.xml
在第一步的配置中添加两个配置:keystoreFile=“路径/.keystore” keystorePass=“即生成keystore文件时使用的密码”
保存好之后重启tomcat
客户端中需要导入证书,例如浏览器中可以通过安全导入数字证书
访问https://localhost:8443即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)