使用openssl 配置 HTTPS,自己颁发SSL证书

一、openssl 简介

openssl 是目前最流行的 SSL 密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS 协议的实现。
官网:https://www.openssl.org/source/

构成部分

  1. 密码算法库
  2. 密钥和证书封装管理功能
  3. SSL通信API接口

用途

  1. 建立 RSA、DH、DSA key 参数
  2. 建立 X.509 证书、证书签名请求(CSR)和CRLs(证书回收列表)
  3. 计算消息摘要
  4. 使用各种 Cipher加密/解密
  5. SSL/TLS 客户端以及服务器的测试
  6. 处理S/MIME 或者加密邮件

二、RSA密钥操作

默认情况下,openssl 输出格式为 PKCS#1-PEM

安装:

$ sudo apt-get install openssl
$ sudo apt-get install libssl-dev

生成SSL证书

生成RSA私钥(使用aes256加密)

openssl genrsa -aes256 -out server.key 2048

提示要你输入并确认密码。

生成 RSA 私钥和自签名证书

openssl req -new -key server.key -outserver.csr

依次输入:
密码
CN
beijing
beijing
CUC
CS
name
[email protected]
密码
name

创建一个自己签署的CA证书

openssl req -new -x509 -days 3650 -key server.key -out server.crt

依次输入:
密码
CN
beijing
beijing
CUC
CS
name
[email protected]

到这里就看到证书生成完了,可以开始愉快的使用啦~

注意:

openssl  生成的证书在chrome上会提示“您的连接不是私密连接”,看着不是很友好,虽然可以在浏览器上安装证书去掉,但是我不推荐这种使用方法。下面还有一篇博文里写了一个方式,使用比较友好,但是证书有效期只有90天,需要更新。这就需要自己权衡利弊去选择哪种方式更适合自己啦~

之前还写了一篇SSL证书生成,已经亲测有效,参考链接:

https://blog.csdn.net/cocos2dGirl/article/details/89216014

参考链接:

https://blog.csdn.net/s31213/article/details/84906046

https://www.cnblogs.com/littleatp/p/5878763.html

你可能感兴趣的:(web,ubuntu,linux)