OpenSSL 是什么?

OpenSSL 是开源的程序套件,该套件由三部分组成:

本文主要介绍如何使用 OpenSSL 自建 CA,生成 SSL 证书、吊销证书。


基础概念


使用 OpenSSL 自建 CA

1. 初始化环境

创建完成后,目录结构如下:

2. 创建 openssl 的配置文件 openssl.cnf

其内容如下:

3. 生成根证书(Root Certificate)

根证书是证书链的最后一个证书,也是自签名证书,即 Issuer 和 Subject 相同的证书。为生成根证书,首先向 openssl.cnf 配置文件中,增加下面的配置信息:

将所有必要信息写进配置文件,而不是在命令行输入,这是唯一指定 X.509v3 扩展的方式,也能让我们对如何创建根证书有清晰的把握。

openssl 命令指定配置文件有两种方式:

使用下面命令:

生成根证书(其中 -days 365 是证书的有效期)。

下面验证 CA 根证书:


使用 OpenSSL 生成证书


验证证书

接下来使用两个 Python 程序验证证书。

client.py:

server.py:


使用 OpenSSL 吊销证书和生成 CRL