自建CA并生成自签名SSL证书

您所在的位置:网站首页 如何自建网站英文名称 自建CA并生成自签名SSL证书

自建CA并生成自签名SSL证书

2024-07-11 10:18| 来源: 网络整理| 查看: 265

文章目录 前言一键生成自签名证书命令脚本执行结果 分步来看看自建证书的过程自建CA根证书生成CA私钥生成CA自签名证书 自签名SSL证书生成服务器私钥和证书申请文件CRS使用CA根证书签名SSL证书 最终的文件列表相关名词SSL/TLS协议证书颁发机构(CA)数字证书(Certificate).pem文件 总结备注

前言

这是加密与认证系列的第五篇文章了,本来我是想把自建证书和nginx配置https访问总结到一起的,但是在实际操作的过程中我发现了很多细小的知识点,有些还是挺有意思的,这是一个不断自我提问不断寻求答案的过程,随着扩展的内容越来越多,我决定这篇只写自建CA和签名SSL证书这部分,至于nginx配置https访问放到后面再写吧。

相信点进这篇文章的人应该知道为什么要自建CA和自签名SSL证书了,因为买现成的SSL证书挺贵的,SSL证书通常有三种类型:域名级(DV)、企业级(OV)、增强级(EV),价格从每年几百元到上万元不等,再细分的话还有单域名证书、通配符证书、多域名证书等等,有些证书还可以追加域名。

这笔费用对于大厂来说可能不算什么,但是对于小产品来说,即使选择最便宜的证书也是一笔开销,比如在上一篇《根证书的应用和信任基础》提到的12306官网在2017以前使用的也是用的自签名证书,一般正式产品总会咬咬牙买个证书,但是如果是本地测试,或者局域内网的使用的产品使用自建的证书就足够了,相当于我们配了临时证书资源在开发新功能,等到真正对外发布时再替换成购买的证书也来的及,所以接下来我们就一起走一遍自建证书的流程。

一键生成自签名证书

总有心急的人想吃热豆腐,所以我把用到的命令写了一个脚本,只要输入几个自定义密码就可以完成CA证书和SSL证书的创建,前提是在你的电脑安装了openssl命令,在ubuntu上系统上默认就有,没有的自己安装一下吧。

命令脚本

将下列命令放到shell脚本文件onekeyssl中执行即可

#!/bin/bash read -p "Enter your domain or ip [www.example.com/10.10.49.172]: " INPUT echo "1. Create ca private key..." openssl genrsa -des3 -out selfca.key 2048 echo "2. Create ca root certificate..." openssl req -new -x509 -days 3650 -key selfca.key -subj "/C=CN/ST=BJ/L=BJ/O=MyRootCA/OU=MyCA/CN=CA" -out selfca.crt echo "3. Create server key and certificate signing request..." openssl req -newkey rsa:2048 -nodes -keyout server.key -subj "/C=CN/ST=BJ/L=BJ/O=MyRootServer/OU=MyServer/CN=$INPUT" -out server.csr echo "4. Sign SSL certificate..." openssl x509 -req -extfile 反爬链接,请勿点击,原地爆炸,概不负责!


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3