📜  cfssl macos (1)

📅  最后修改于: 2023-12-03 15:14:07.868000             🧑  作者: Mango

使用CFSSL在macOS上生成证书

CFSSL是一个通用的TLS/PKI工具包,可用于生成证书、加密等操作。在macOS上使用CFSSL生成证书非常简单,只需要按照以下步骤即可。

步骤1:安装CFSSL

在终端中输入以下命令安装CFSSL:

$ brew install cfssl

如果还没有安装Homebrew,可以使用以下命令进行安装:

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
步骤2:生成证书请求文件(CSR)

使用以下命令生成CSR文件:

$ cfssl genkey -initca csr.json | cfssljson -bare ca

其中,csr.json是CSR文件的配置文件,-bare ca表示将生成的证书保存为ca.pemca-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"
    }
  ]
}
步骤3:签名证书

使用以下命令签名证书:

$ cfssl sign -ca ca.pem -ca-key ca-key.pem -config ca-config.json -profile server server-csr.json | cfssljson -bare server

其中,ca.pemca-key.pem是之前生成的CA文件,ca-config.json是CA配置文件,server-csr.json是服务器证书的配置文件,server表示将生成的证书保存为server.pemserver-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可以帮助您轻松生成各种类型的证书和密钥,可以在多种应用场景中使用。