惜风不起、唯有努力!
cfssl命令及证书时间修改

cfssl命令及证书时间修改

命令

1、查看证书过期时间
cfssl certinfo -cert [证书]| grep not

2、生成ca证书的证书请求文件
cfssl print-defaults csr > ca-csr.json

3、生成cfssl的配置文件
cfssl print-defaults config > ca-config.json

4、创建ca证书
cfssl gencert -initca ca-csr.json |cfssl-json -bare ca

5、创建test证书
cat > test-csr.json << mm
   {
       "CN":"yys",
       "hosts":[
           "127.0.0.1",
           "192.168.11.211",
           "192.168.11.212"
       ],
       "key":{
           "algo":"rsa",
           "size":2048
       },
       "names":[
           {
               "C":"CN",
               "L":"zhejiang",
               "ST":"test",
               "O":"test",
               "OU":"System"
           }
       ]
   }
mm

cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=www test-csr.json | cfssl-json -bare test

ps: 更多细节请使用 cfssl --help

证书时间修改

1、修改ca证书有效时间
在ca-csr.json中添加字段: "CA":{"expiry":"876000h"},

{   "CA":{"expiry":"876000h"},
    "CN": "example.net",
    "hosts": [
        "example.net",
        "www.example.net"
    ],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "US",
            "L": "CA",
            "ST": "San Francisco"
        }
    ]
}

CN: Common Name,浏览器使用该字段验证网站是否合法,一般写的是域名。非常重要。浏览器使用该字段验证网站是否合法
C: Country, 国家
L: Locality,地区,城市
O: Organization Name,组织名称,公司名称
OU: Organization Unit Name,组织单位名称,公司部门
ST: State,州,省


2、修改服务证书时间
在ca-config.json中的profile参数配置服务证书的有效期

{
    "signing": {
        "default": {
            "expiry": "876000h"
        },
        "profiles": {
            "www": {
                "expiry": "876000h",
                "usages": [
                    "signing",
                    "key encipherment",
                    "server auth"
                ]
            },
            "client": {
                "expiry": "876000h",
                "usages": [
                    "signing",
                    "key encipherment",
                    "client auth"
                ]
            }
        }
    }
}

server auth:表示 client 可以用该 CA 对 server 提供的证书进行验证
client auth:表示 server 可以用该 CA 对 client 提供的证书进行验证

ps: 服务证书是基于ca证书时间的,如果服务证书有效100年,而ca只有10年,那么服务证书实际有效期也只有10年。

发表回复

您的电子邮箱地址不会被公开。