IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 内网数字证书的生成与使用 -> 正文阅读

[网络协议]内网数字证书的生成与使用

内网数字证书的生成与使用

   虽然在企业内网之间,通过http明文访问,安全性的影响不大,因为服务器之间主要依靠内外网防火墙隔离来保证安全性,但是考虑到有一些数据的敏感性,通过ssl加密服务器之间的数据传输,能够大大提高安全性。比如黑客突破防火墙进入内网后,可能截取数据,这些在电影中经常上演。所以在服务器之间,或者部分重要服务器上,要求使用数字证书访问,是有一定的作用的。
   但是如果有外部CA机构颁发证书,需要额外的成本,且因为数据并不发布到公网上,也没有必要做此类工作,可以通过Java自带的证书生成工具来实现。

SSL加密原理

通俗的讲就是通过非对称密钥算法,通过握手协议,客户端利用公钥加密密码,服务器端收到后通过私钥解密获得客户端的密码,然后服务器端以客户端的密码加密内容将数据发送给客户端,客户端由于保持通路时存储了发送的密码,于是通过密码解密,得到传输的内容。具体可以见引用别人的文章
SSL原理

Java生成数字证书

在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被注释的配置

<!-- <Connector SSLEnabled="true" clientAuth="false"  maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" scheme="https" secure="true" sslProtocol="TLS"/> -->

取消相关注释
二、指定对应的keystore文件
如上文的baidu.keystore,当然若生成keystore时,忘记指定路径,则默认是在C:\Users<账号名称>下,有一个.keystore的文件。将该文件复制到server.xml的同目录下

第三步,配置server.xml
在第一步的配置中添加两个配置:keystoreFile=“路径/.keystore” keystorePass=“即生成keystore文件时使用的密码”

保存好之后重启tomcat

客户端中需要导入证书,例如浏览器中可以通过安全导入数字证书,由于我们自己创建的证书不是公认的CA机构,所以导入时需要选择导入“受信任的根证书颁发机构”,导入完成后再访问,你会发现网站的前端的安全警告变成了小锁图标,标识证书生效了。
导入证书
访问https://localhost:8443即可。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-04-30 09:03:26  更:2022-04-30 09:04:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:51:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码