私有CA(Certificate Authority)认证配置:详细过程版

CA认证过程

CA(Certificate Authority),即认证中心。主要作用是为用户发放数字证书,作为身份验证,实现数据的不可否认性。数字证书可发放、更新、撤销、验证。

数字证书签名和使用的全过程:
1.证书申请者生成CSR证书请求文件和客户端私钥。
2.证书申请者发送CSR给证书颁发机构。
3.证书颁发机构使用根证书私钥对CSR进行签名,生成CRT证书文件。
4.证书颁发机构发送CRT证书文件给证书申请者。
5.证书申请者使用CRT证书文件和私钥进行https安全认证。

私有CA认证

私有证书认证指自己充当证书颁发机构,为我们的网站颁发证书,实现网站加密认证。

1.安装nginx,且必须支持–with-http_ssl_module 模块,如果没有则需源码安装
#nginx -V 查看nginx安装配置

一般yum安装的nginx也会默认包括这个模块,如果没有就在源码编译的时候添加进去

像我下面就是yum直接下载安装的,也包含了这个模块

[root@ly001 ~]# nginx -V
nginx version: nginx/1.18.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx-1.18 --with-http_stub_status_module --with-http_ssl_module --with-http_image_filter_module --with-http_gzip_static_module

我下面的操作都是在源码安装的nginx上操作的,跟yum安装的没什么区别,就目录不一样而已,根据自己的目录来,我展示这个yum的就是想说yum下载的就直接支持–with-http_ssl_module模块而已。

然后还需要openssl的支持,yum下载一个就好了

yum install openssl -y

然后开始生成我们的证书。

先创建一个文件夹保存证书相关文件,然后生成密钥文件

mkdir  /usr/local/nginx/ssl
openssl  genrsa   -out  /usr/local/nginx/ssl/server.key  1024

然后填写证书申请文件,填写自己的信息就好了

要填的信息分别是:国家,省份,城市,公司,部门,域名,邮箱,密码,可选的公司名称。

后两项直接回车就好了,不填也没什么,反正这是私网证书。

[root@localhost ~]# openssl  req  -new -key  /usr/local/nginx/ssl/server.key -out /usr/local/nginx/ssl/server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,

If you enter '.', the field will be left blank.
-----

Country Name (2 letter code) [XX]:CH
State or Province Name (full name) []:GuangDong
Locality Name (eg, city) [Default City]:GuangZhou
Organization Name (eg, company) [Default Company Ltd]:nginx
Organizational Unit Name (eg, section) []:ssl
Common Name (eg, your name or your server's hostname) []:www.test.com
Email Address []:qfasf.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

填好申请文件以后直接执行下面的命令生成证书

openssl req  -x509 -days 365 -key /usr/local/nginx/ssl/server.key  -in /usr/local/nginx/ssl/server.csr  -out /usr/local/nginx/ssl/server.crt

然后查看我们的证书文件

[root@localhost ~]# ls /usr/local/nginx/ssl/
server.crt  server.csr  server.key

证书生成以后就可以去配置文件里使用了

server {
    listen  443 ssl;
    server_name  www.game.com;
    charset   utf-8;
    ssl_certificate      /usr/local/nginx/ssl/server.crt;
    ssl_certificate_key  /usr/local/nginx/ssl/server.key;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    location / {
        root  /www/game;
        index  index.html index.htm;
    }
}

然后重启nginx,用https来访问我们的网站

systemctl restart nginx.service 

!](https://img-blog.csdnimg.cn/781f7c435c574bcd9a5e377d2faad351.png)

可以看到浏览器显示我们的证书无效,当然了,这是我们的私网证书,浏览器是不认可的,想在公网配置证书是要认证机构颁发的,也就是要买才行。

虽然证书无效但是还是能看到我们证书的信息的

在这里插入图片描述

到这里就配置证书完成了。

在写这篇文章的时候也有参考其它文档,如有侵权请联系告知删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值