Skip to content

cfssl

cfssl签发中间证书

要使用cfssl生成一个中间CA(Intermediate CA)并使用它来颁发客户端证书,你需要遵循以下步骤:

步骤 1: 准备Root CA证书和私钥

确保你已经有了一个有效的Root CA证书(ca.crt)和对应的私钥(ca.key)。

步骤 2: 生成中间CA证书签名请求(CSR)

首先,你需要为中间CA生成一个证书签名请求(CSR)。这需要创建一个私钥和相应的CSR文件。

bash
# 生成中间CA的私钥
openssl genrsa -out client/intermediate-ca.key 4096

# 创建中间CA的证书签名请求
openssl req -new -sha256 -key client/intermediate-ca.key.key -out client/intermediate-ca.csr

在生成CSR时,你可能需要指定一些基本信息,如国家、组织名称等。

步骤 3: 使用Root CA签署中间CA的CSR

使用你的Root CA私钥来签署中间CA的CSR,生成中间CA证书。

bash
# 使用cfssl工具来签署CSR
cfssl sign -ca ca.crt -ca-key ca.key -config ca-config.json -profile intermediate client/intermediate-ca.csr | cfssljson -bare client/intermediate-ca

这里ca-config.json是一个配置文件,它定义了不同的签名配置,例如不同的证书类型和用途。-profile intermediate指定了使用配置文件中的哪个配置来签署CSR。

步骤 4: 安装中间CA证书和私钥

将生成的中间CA证书(intermediate.pem)和私钥(intermediate.key)安装到适当的位置。

步骤 5: 使用中间CA颁发客户端证书

现在你可以使用中间CA来颁发客户端证书了。以下是生成客户端证书签名请求并签发的步骤:

bash
# 生成客户端的私钥和CSR
openssl genrsa -out client.key 2048
openssl req -new -sha256 -key client.key -out client.csr

# 使用中间CA签署客户端的CSR
cfssl sign -ca intermediate/intermediate.pem -ca-key intermediate/private/intermediate.key -config intermediate-config.json -profile client client.csr | cfssljson -bare client

这里intermediate-config.json是中间CA的配置文件,-profile client指定了使用配置文件中的哪个配置来签署客户端的CSR。

步骤 6: 安装客户端证书和私钥

将生成的客户端证书(client.pem)和私钥(client.key)安装到客户端系统上。

以上步骤概述了使用cfssl生成中间CA并颁发客户端证书的过程。请确保在实际部署时遵循最佳安全实践,例如使用安全的密钥长度、妥善保管私钥等。 首先,你需要为中间CA生成一个证书签名请求(CSR)。这需要创建一个私钥和相应的CSR文件。