超光速

Back

使用 cfssl 自签 CA 证书。可用于 k8s 通讯,或自托管服务。

教程

网上教程

实践

创建 CA 证书配置 cert/ca-csr.json

生成

  1. ca-key.pem: CA 证书密钥
  2. ca.pem: CA 证书
⋊> cfssl gencert -initca ca-csr.json | cfssljson -bare ca
2023/07/15 11:46:17 [INFO] generating a new CA key and certificate from CSR
2023/07/15 11:46:17 [INFO] generate received request
2023/07/15 11:46:17 [INFO] received CSR
2023/07/15 11:46:17 [INFO] generating key: rsa-2048
2023/07/15 11:46:18 [INFO] encoded CSR
2023/07/15 11:46:18 [INFO] signed certificate with serial number xxxxxxxx
bash

创建 ca-config.json,证书签发配置,用 CA 证书来签发其它证书时需要用

创建 server-csr.json 配置要签名的域名

签发证书

cfssl gencert \
  -ca=ca.pem \
  -ca-key=ca-key.pem \
  -config=ca-config.json \
  -profile=server \
  server-csr.json | cfssljson -bare server
bash

效果

~/cert# ❯❯❯ cfssl gencert -ca=ca.pem \
                          -ca-key=ca-key.pem \
                          -config=ca-config.json \
                          -profile=server \
                          server-csr.json | cfssljson -bare server
2024/07/22 18:04:14 [INFO] generate received request
2024/07/22 18:04:14 [INFO] received CSR
2024/07/22 18:04:14 [INFO] generating key: ecdsa-256
2024/07/22 18:04:14 [INFO] encoded CSR
2024/07/22 18:04:14 [INFO] signed certificate with serial number xxxxxxxx
bash

部署使用 server-key.pem server.pem

总结

在手机,平板,电脑上安装 CA 根证书,然后这个 CA 证书签发的服务器用的证书就都会被认为是安全的。不过安装 CA 证书后会有Network may be monitored提示。

另外上面实践是两种证书。正常有 CA 根证书,中间证书,服务器证书。但是个人使用没有搞那么麻烦,没有中间证书。

cfssl 自签 CA 证书
https://www.ftls.xyz/posts/2024-07-23-cfssl-self-signed-ca-certificate/
Author 恐咖兵糖
Published at
Copyright CC BY-NC-SA 4.0