本文最后更新于 2023-09-19,文章内容可能已经过时。

1. Https证书配置

1.1. 不安全的http协议

对称加密:加密密钥=解密密钥;非对称加密:加密密钥!=解密密钥;

对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高。

非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。

17 不安全的http.png

443端口通讯目的是为了获得客户端产生的私钥。服务端得到客户单私钥后,使用的是客户端私钥加密,而不是服务端的私钥!

类似钥匙和锁,使用这种算法,发送方可以使用接收方的公钥对信息进行加密,只有拥有相应私钥的接收方才能解密信息。这种方式比对称加密更加安全,因为即使公钥被泄露,公钥无法解密消息,黑客也无法破解信息,因为他们没有私钥。

从伪造客户端的角度杜绝了信息泄露,那伪造服务器端呢?所以非对称加密算法也无法保证安全性,这就引出了CA证书认证,相当于第三方。

只使用非对称加密算法,公钥可以被查看并篡改,有了CA机构后,公钥可以被查看,但是不能被篡改

19 证书CA.png

1.2. 自签名: openssl

系统内置:openssl包含:SSL协议库、应用程序以及密码算法库

图形化工具 XCA : https://www.hohnstaedt.de/xca/index.php/download

CA 签名

可以购买下载对应nginx的证书zip文件,上传到服务器内的conf目录下,并修改配置文件,填写证书的公私钥。

    server {
        listen       443 ssl;
        server_name  localhost;

        ssl_certificate      fanxy.cloud_bundle.pem;
        ssl_certificate_key  fanxy.cloud.key;
    }