📅  最后修改于: 2023-12-03 15:14:07.868000             🧑  作者: Mango
CFSSL是一个通用的TLS/PKI工具包,可用于生成证书、加密等操作。在macOS上使用CFSSL生成证书非常简单,只需要按照以下步骤即可。
在终端中输入以下命令安装CFSSL:
$ brew install cfssl
如果还没有安装Homebrew,可以使用以下命令进行安装:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
使用以下命令生成CSR文件:
$ cfssl genkey -initca csr.json | cfssljson -bare ca
其中,csr.json
是CSR文件的配置文件,-bare ca
表示将生成的证书保存为ca.pem
和ca-key.pem
文件。
csr.json
的内容如下:
{
"CN": "My Root CA",
"key": {
"algo": "rsa",
"size": 4096
},
"names": [
{
"C": "CN",
"L": "Beijing",
"O": "My Org",
"ST": "Bejing",
"OU": "My Unit"
}
]
}
使用以下命令签名证书:
$ cfssl sign -ca ca.pem -ca-key ca-key.pem -config ca-config.json -profile server server-csr.json | cfssljson -bare server
其中,ca.pem
和ca-key.pem
是之前生成的CA文件,ca-config.json
是CA配置文件,server-csr.json
是服务器证书的配置文件,server
表示将生成的证书保存为server.pem
和server-key.pem
文件。
ca-config.json
的内容如下:
{
"signing": {
"default": {
"expires": "730d"
},
"profiles": {
"server": {
"expiry": "87600h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
}
}
}
}
server-csr.json
的内容如下:
{
"CN": "my.host.name",
"hosts": [
"my.host.name",
"127.0.0.1",
"::1"
],
"key": {
"algo": "ecdsa",
"size": 256
},
"names": [
{
"C": "CN",
"L": "Beijing",
"O": "My Org",
"ST": "Beijing",
"OU": "My Unit"
}
]
}
这就是使用CFSSL在macOS上生成证书的方法。CFSSL可以帮助您轻松生成各种类型的证书和密钥,可以在多种应用场景中使用。