zoukankan      html  css  js  c++  java
  • 使用CFSSL工具生成TLS自签名证书

    当我们使用kubeadm去部署我们的kubernetes集群的时候,证书的自生成和提供是可选的,这个时候我们可以定义生成自己的证书,来控制证书过期的时间,也可以给他加上我们自己的密钥。

    1、下载cfssl工具所需要的安装包

    1 wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
    2 wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
    3 wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64

    2、修改刚刚下载完成的文件的权限

    1 chmod +x cfssl_linux-amd64 cfssljson_linux-amd64 cfssl-certinfo_linux-amd64

    3、移动文件到指定目录下完成工具的安装

    1 mv cfssl_linux-amd64 /usr/local/bin/cfssl
    2 mv cfssljson_linux-amd64 /usr/local/bin/cfssljson
    3 mv cfssl-certinfo_linux-amd64 /usr/local/bin/cfssl-certinfo

    4、验证我们是否安装成功

    1 cfssl

    5、生成配置文件的模板

    1 cfssl print-defaults config > config.json

     我们可以查看生成的模板如下:

     1 [root@Cyun cfssl]# cat config.json 
     2 {
     3     "signing": {
     4         "default": {
     5             "expiry": "168h"
     6         },
     7         "profiles": {
     8             "www": {
     9                 "expiry": "8760h",
    10                 "usages": [
    11                     "signing",
    12                     "key encipherment",
    13                     "server auth"
    14                 ]
    15             },
    16             "client": {
    17                 "expiry": "8760h",
    18                 "usages": [
    19                     "signing",
    20                     "key encipherment",
    21                     "client auth"
    22                 ]
    23             }
    24         }
    25     }
    26 }

     6、生成证书信息的模板

    1 cfssl print-defaults csr > csr.json

    我们可以查看到生成的模板如下所示:

     1 [root@Cyun cfssl]# cat csr.json 
     2 {
     3     "CN": "example.net",
     4     "hosts": [
     5         "example.net",
     6         "www.example.net"
     7     ],
     8     "key": {
     9         "algo": "ecdsa",
    10         "size": 256
    11     },
    12     "names": [
    13         {
    14             "C": "US",
    15             "L": "CA",
    16             "ST": "San Francisco"
    17         }
    18     ]
    19 }

     7、修改文件config.json和csr.json我们可以定义自己的证书当中的内容

    1 config.json
    2 signing====>签名
    3 expiry====>过期时间,我们可以通过修改这个字段来更正证书的使用时间
    4 
    5 csr.json
    6 CN====>标识的具体的域
    7 hosts====>使用这个证书的域名
    8 key====>证书加密的方式,一般是RSA 2048
    9 names====>证书包含的信息,可以包含国家,地区,公司,部门等等,我们可以在kubeadm中修改对于这部分内容的验证,达到证书的管理控制功能。

     8、生成证书

    1 cfssl gencert -initca ca-csr.json | cfssljson -bare ca

     9、生成证书信息

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

     PS:在需要的时候我们可以把生成的ca.pem和ca-key.pem重命名为ca.crt和ca.key。

  • 相关阅读:
    vue cli3 打包到tomcat上报错问题
    前端html转pdf
    原生js上传图片遇到的坑(axios封装)
    vue slot的使用(transform动画)
    vue购物车动画效果
    关于el-select 单选与多选切换的时候报错的解决办法
    vue html属性绑定
    关于element ui滚动条使用
    css3flex布局实现商品列表 水平垂直居中 上下布局
    vue 项目 路由 router.push、 router.replace 和 router.go
  • 原文地址:https://www.cnblogs.com/chenyun-/p/13387497.html
Copyright © 2011-2022 走看看