前面的文章介绍了几款公网ip免费申请ssl证书的工具,有需要的朋友可以查阅。
免费自动申请和续期SSL证书的平台 |
自签名证书的概念
自签名证书是指由用户自己生成和签名的证书,而不是由公认的证书颁发机构(如VeriSign、阿里云、腾讯云、Let's Encrypt)签名的证书。自签名证书是免费的,但通常不受浏览器和其他客户端的信任。
一、生成根证书的私钥和证书
生成CA根证书私钥
openssl genrsa -out ca.key 2048
使用私钥生成CA根证书
openssl req -x509 -new -nodes -key ca.key -sha256 -days 1024 -out ca.crt
操作过程中需要依次输入国家(如CN)、省份(如SHANGHAI)、城市(如SHANGHAI)、组织名称、组织代码、自签的证书IP或域名(如192.168.140.120)、邮箱等信息。
二、为内网IP(或域名)生成私钥和证书请求文件(CSR)
生成内外IP的私钥
openssl genrsa -out server.key 2048
使用私钥生成证书请求文件
openssl req -new -key server.key -out server.csr
这里填写的内容与生成CA根证书时一致(除了通用名称填写内网IP地址或域名),最后两行直接按回车即可。
三、创建证书扩展文件
创建一个名为v3.ext的文件,并添加以下内容:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
#这里IP替换成你的内网DNS服务器ip
IP.1 = 10.*.*.*
四、使用CA的证书为内网IP(或域名)签名证书
使用命令:
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 500 -sha256 -extfile v3.ext
五、部署(Tomcat和Nginx)
Nginx部署
得到server.crt和server.key后,在nginx配置文件中添加以下内容:
server {
listen 443 ssl;
server_name localhost;
#ssl证书路径
ssl_certificate ../../server.crt;
#私钥文件路径
ssl_certificate_key ../../server.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
}
}
Tomcat部署
A. 将证书导出成浏览器支持的.p12格式:
openssl pkcs12 -export -in server.crt -inkey server.pem -out server.p12
(需要输入一个密码)
B. 将.p12格式转换成jks证书:
keytool -importkeystore -srckeystore server.p12 -srcstoretype pkcs12 -destkeystore server.jks -deststoretype jks
(A步骤输入的密码和B步骤的要一致)
C. Tomcat 8部署,在配置文件中添加以下内容:
<Connector port ="8443" protocol ="org.apache.coyote.http11.Http11NioProtocol" maxThreads ="150" SSLEnabled ="true" >
<SSLHostConfig >
<Certificate certificateKeystoreFile ="jks证书地址" certificateKeystorePassword ="上述输入的密码" type ="RSA" />
</SSLHostConfig >
</Connector >
六、客户端配置(可选)
客户端访问https的时候,如果想浏览器不带警告,需要将根证书即:ca.crt安装到本地的受信任目录中。
Windows(大多数人使用):双击ca.crt文件,点击安装证书,选择本地计算机,点击下一步,选择将所有证书都放入下列存储,点击浏览,选择受信任的根证书颁发机构,点击确定,点击完成。 Centos:
sudo cp ca.crt /etc/pki/ca-trust/source/anchors/`和`sudo update-ca-trust
Ubuntu:
sudo cp ca.crt /usr/local/share/ca-certificates/`和`sudo update-ca-certificates
最近分享的软件资源 | ||||
zabbix5.0 | AI换脸 | 黄图检测 | 防蹭网 | 微信防撤回 |
文档属性修改 | 视频解析 | 文库免费 | 百度网盘 | 百度网盘加速 |
夸克网盘加 | 镜像下载网站 | 微信AI机器人 | 微信聊天分析 | 免费学习平台 |
百度文库 | 在线visio | 接码平台 | B站视频 | AutoCAD 2024 |
视频号下载 | 视频解析平台 | 直播间录制 | 剪映SVIP | 微信对话生成 |
可视化源代码 | 百度文库 | C盘清理 | 接码平台 | 白嫖云服务器 |
其他软件下载分享:#软件下载清单
9.9元好货分享
为更好地帮助公众号创作者进行带货和变现,为用户提供更好的消费体验,公众号支持从优选联盟中选择商品进行推广。我已开通优选联盟带货功能,正在推广由小店商家提供的优选联盟商品。】