网站开发需要经过的几个主要阶段,二建官网报名入口,办网站需要多少费用,本地推广最好用的平台文章目录 证书#xff08;CA证书#xff0c;服务端证书#xff0c;客户端证书#xff09;1 安装CA1.1 下载mkcert1.2 mkcert安装和配置根证书1.3设备安装根证书 2 自签名ssl证书2.1 CA 证书过程:2.2 自签名流程2.3签发证书2.4给已有的证书请求#xff08;.csr#xff09;… 文章目录 证书CA证书服务端证书客户端证书1 安装CA1.1 下载mkcert1.2 mkcert安装和配置根证书1.3设备安装根证书 2 自签名ssl证书2.1 CA 证书过程:2.2 自签名流程2.3签发证书2.4给已有的证书请求.csr签发证书参考文献 3 配置nginx的https3.1 查看NGINX是否安装SSL模块3.2 配置config文件 证书CA证书服务端证书客户端证书
1 安装CA
CA(Certificate Authority证书授权)是由认证机构服务者签发是数字签名的技术基础保障也是网上实体身份的证明能够证明某一实体的身份及其公钥的合法性证明该实体与公钥二者之间的匹配关系。
在电子商务系统中所有实体的证书都是由证书授权中心即CA中心颁发并签名的。一个完整的、安全的电子商务系统必须建立一个完整的、合理的CA体系。CA体系由证书审批部门和证书操作部门组成。
1.1 下载mkcert
mkcert 工具 https://gitee.com/stonedst/mkcert
$ mkcert -install
Created a new local CA
The local CA is now installed in the system trust store! ⚡️
The local CA is now installed in the Firefox trust store (requires browser restart)! 1.2 mkcert安装和配置根证书
首先到github下载mkcert工具下面我以windows平台作为演示
在cmd中cd到mkcert所在的目录运行下面的命令 .\mkcert.exe -install 这条命令会创建一组根证书和私钥根证书会被安装到系统中。输入下面的命令就可以查看到ca证书存放的位置。其中“rootCA.pem“就是根证书有些系统比如windows可能不会认rootCA.pem可以把他改成rootCA.crt。将他发送给需要安装的自定义证书的设备安装好之后自签名证书就不会显示不安全了。另外rootCA-key.pem是根证书的私钥文件不可公开需要妥善保管。
.\mkcert.exe -CAROOT1.3设备安装根证书
1.windows
直接打开rootCA.crt,并将证书安装到受信任的根证书
2.安卓
直接在文件管理器安装rootCA.crt
3.macos
直接在文件管理器安装rootCA.crt然后打开钥匙串-系统找到mkcert开头的证书双击打开。设置为下图的模式就可以了。
[
4.ios
ios要先安装ca证书然后在“设置”——“通用”——“描述文件和设备管理”——验证刚才安装的ca证书。然后在“通用”——“关于本机”——“证书信任设置”信任刚才的ca证书
mkcert签发自签名证书的教程就已经结束了rootCA.crt可以保存在一些容易获取到的地方比如网盘上这样去到新的地方就可以安装根证书确保访问安全了。而且根证书本身就是公开的不需担心安全性问题确保不被篡改就行了。
2 自签名ssl证书
SSL证书一般有如下方法获取SSL服务商购买、免费SSL服务商通过HTTP验证/API验证、自签SSL证书。
如果进行自签SSL证书首先要有一个CA根证书然后用CA根证书来签发用户证书。
用户进行证书申请一般先生成一个私钥然后用私钥生成证书请求(证书请求里应含有公钥信息)再利用证书服务器的CA 根证书来签发证书。
自签可以生成任意域名或IP的SSL证书只不过是不信任的需要自行将该CA加入信任。
2.1 CA 证书过程: 生成CA私钥.key–生成CA证书请求.csr–自签名得到根证书.crtCA给自已颁发的证书 2.2 自签名流程 生成服务端key.key–生成服务端请求文件.csr–生成服务端证书,使用CA根证书签发.crt–生成pem格式证书–生成p12格式证书 自签SSL一般需要使用openssl命令步骤比较繁琐今天我们借助mkcert工具来一键生成SSL证书并且信任该CA。
2.3签发证书
mkcert签发证书非常的简单用下列的命令就可以给“192.168.100.100”签发一个ssl证书
.\mkcert.exe 192.168.100.100当然也可以给域名签发一个ssl证书比如给*.home.com这个泛解析域名签发ssl证书
.\mkcert.exe *.home.com也可以给多个域名多个ip签发ssl证书比如我给*.home.com, *.nas.com, *.Router.com, 192.168.100.100, 10.10.100.100。等三个域名2个ip签发在同一张ssl证书中。
.\mkcert.exe *.home.com *.router.com *.nas.com 192.168.100.100 10.10.100.100.\mkcert.exe *.abiuni.com *.techco.club 8.139.98.150 8.219.252.1732.4给已有的证书请求.csr签发证书
如果已有请求文件csr文件和私钥然后用csr文件给mkcert签发的ssl证书才能使用。
把证书下载好后将server.csr复制到mkcert所在的目录执行下面的命令就可以根据csr文件签发出ssl证书。
.\mkcert.exe -csr server.csr将生成的证书和里面的server.key私钥一起设置配置好证书的使用就可以了。
参考文献
https://post.smzdm.com/p/aeveozgm/ https://zhuanlan.zhihu.com/p/636932873 https://blog.csdn.net/Amorbcbc/article/details/131646799
3 配置nginx的https
3.1 查看NGINX是否安装SSL模块
./nginx -V # 注意是大写的V如果有ssl_module那就说明有没有就自行安装
3.2 配置config文件 server {listen 443;server_name 8.138.98.150;ssl on;ssl_certificate /usr/share/nginx/html/card/com.pem;ssl_certificate_key /usr/share/nginx/html/card/com.key;location / {root /usr/share/nginx/html;index index.html index.htm index.php;}}重启nginx
service nginx reload