OpenSSL生成证书流程

1.什么是SSL证书?

首先来了解下,现在HTTP协议中为什么增加了SSL证书,HTTP协议以明问发送请求
在传递数据的过程中可能被黑客进行监听和盗取,是极度不安全的,所以产生了HTTPS协议,HTTPS协议可以看成是HTTP+SSL的结合体

网站实现加密传输
用户通过http协议访问网站时,浏览器和服务器之间是明文传输,这就意味着用户填写的密码、帐号、交易记录等机密信息都是明文,随时可能被泄露、窃取、篡改,被黑客加以利用。网站安装SSL证书后,使用https加密协议访问网站,可激活客户端浏览器到网站服务器之间的"SSL加密通道"(SSL协议),实现高强度双向加密传输,防止传输数据被泄露或篡改。
认证服务器真实身份
钓鱼欺诈网站泛滥,用户如何识别网站是钓鱼网站还是安全网站?网站部署全球信任的SSL证书后,浏览器内置安全机制,实时查验证书状态,通过浏览器向用户展示网站认证信息,让用户轻松识别网站真实身份,防止钓鱼网站仿冒。

 

2.SSL的验证流程

在这里插入图片描述


此图片来自网络

3.利用openssl环境自制证书

流程图

在这里插入图片描述

 

CA服务器操作

1.查看LIUNX下是否安装openssl环境

openssl

在这里插入图片描述
出现>oepnssl说明已经安装成功环境

2.生成CA密钥对

mkdir $HOME/ssl
cd $HOME/ssl

openssl genrsa -out /srv/ftp/cas/cakey.pem 2048 RSA

生成了2048个字节的密钥

3.生成根证书签发申请

openssl req -new -key /srv/ftp/cas/cakey.pem -out /srv/ftp/cas/cacert.csr -subj /CN=cas.com

4.根证书签发

openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey /srv/ftp/cas/cakey.pem -in /srv/ftp/cas/cacert.csr -out /srv/ftp/cas/ca.cer

设置了一个x509的证书生成,证书的有效时间为3650天

在这里插入图片描述
表明申请成功

服务器主机操作

1.服务器主机证书的生成需要利用CA服务器根证书,为了区分两台服务器,创建一个
新的文件夹,用于保存服务器主机的文件

mkdir -p /srv/ftp/cas/server

2.生成服务器私钥

openssl genrsa -aes256 -out /srv/ftp/cas/server/server-key.pem 2048

在这里插入图片描述

在生成私钥的时候会让你输入一个密码,这个密码不能太短,否则会提示错误
暂且设置为sheng123

3.生成服务器端的签发声明

openssl req -new -key /srv/ftp/cas/server/server-key.pem -out /srv/ftp/cas/server/server.csr -subj /CN=cas.com
openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA /srv/ftp/cas/ca.cer -CAkey /srv/ftp/cas/cakey.pem -CAserial /srv/ftp/cas/server/ca.srl -CAcreateserial -in /srv/ftp/cas/server/server.csr -out /srv/ftp/cas/server/server.cer

签发申请,有效期10年
在这里插入图片描述

客户端的证书签发

1.创建客户端信息保存目录

mkdir -p /srv/ftp/cas/client

2.生成客户端私钥

openssl genrsa -aes256 -out /srv/ftp/cas/client/client-key.pem 2048

会出现密码设置,暂且设为sheng123

3.申请签发客户端证书

openssl req -new -key /srv/ftp/cas/client/client-key.pem -out /srv/ftp/cas/client/client.csr -subj /CN=cas.com

4.生成客户端证书

openssl x509 -req -days 365 -sha1 -CA /srv/ftp/cas/ca.cer -CAkey /srv/ftp/cas/cakey.pem -CAserial /srv/ftp/cas/server/ca.srl -in /srv/ftp/cas/client/client.csr -out /srv/ftp/cas/client/client.cer

此时证书生成完成,这套证书只对cas.com有效

4.生成Java证书

前面步骤使用openssl生成了数字证书和私钥,要是想在java环境下使用,要想在Java下进行使用,必须将其转化为"PKCS#12"的编码格式的密钥库才可以被java的keytool工具去管理使用
所以我们要讲openssl生成的转化为Java证书,此时Java端的证书由于要在tomcat上使用,所以我们要在tomcat中的目录保存,usr/local/tomcat/
1.生成客户端证书

openssl pkcs12 -export -clcerts -name cas-client -inkey /srv/ftp/cas/client/client-key.pem -in /srv/ftp/cas/client/client.cer -out /srv/ftp/cas/client/client.p12

在这里插入图片描述

输入三次密码,即可生成,客户端证书主要是给浏览器进行使用的
2.生成服务器端证书

 openssl pkcs12 -export -clcerts -name cas-server -inkey /srv/ftp/cas/server/server-key.pem -in /srv/ftp/cas/server/server.cer -out /srv/ftp/cas/server/server.p12
生成服务器端的证书主要是给tomcat进行使用

3.将生成的服务器端证书导入本机的受信任证书中

keytool -importcert -trustcacerts -alias cas.com -file /srv/ftp/cas/ca.cer -keystore /usr/local/tomcat/ca-trust.p12

在这里插入图片描述

输入是即可生效
使用keytool工具查看证书信息

keytool -list -keystore /srv/ftp/cas/client/client.p12 -storetype pkcs12 -v

在这里插入图片描述

 

https://blog.csdn.net/qq_42549122/article/details/90266920

posted @ 2020-09-22 10:46  老虎逛大街  阅读(3418)  评论(0编辑  收藏  举报
levels of contents