美文网首页
cfssl生成ca证书

cfssl生成ca证书

作者: Nick_4438 | 来源:发表于2018-07-10 13:52 被阅读0次

前言

本文介绍,如何通过cfssl生成证书,并通过openssl以及keytool 转换生成相关文件。

安装

  • 安装cfssl
$ wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64
$ wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64
$ wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
$ chmod +x cfssl_linux-amd64 cfssljson_linux-amd64 cfssl-certinfo_linux-amd64
$ mv cfssl_linux-amd64 /usr/local/bin/cfssl
$ mv cfssljson_linux-amd64 /usr/local/bin/cfssljson
  • 安装java
$ yum install java 
  • 安装openssl
wget https://www.openssl.org/source/openssl-1.1.0h.tar.gz
tar -xzvf /tmp/openssl-1.1.0h.tar.gz
cd openssl-1.1.0h
./config --prefix=/usr/local/openssl   
make
make install
mv /usr/bin/openssl /usr/bin/openssl.bak
ln -sf /usr/local/openssl/bin/openssl /usr/bin/openssl
echo "/usr/local/openssl/lib" >> /etc/ld.so.conf
ldconfig -v                    
openssl version
OpenSSL 1.1.0h  27

制作证书

运行如下脚本gen.sh,生成证书。

#!/bin/bash

PASS=${1:-"123456"}

cat > ca-config.json <<EOF
{
  "signing": {
    "default": {
      "expiry": "87600h"
    },
    "profiles": {
      "kubernetes": {
         "expiry": "87600h",
         "usages": [
            "signing",
            "key encipherment",
            "server auth",
            "client auth"
        ]
      }
    }
  }
}
EOF

# 颁发者信息 CN - 一般名词,O - 组织 , OU组织单位,
cat > ca-csr.json <<EOF
{
    "CN": "kubernetes",
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "Beijing",
            "ST": "Beijing",
            "O": "k8s",
            "OU": "System"
        }
    ]
}
EOF

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

#-----------------------

# 颁发给组织信息 
cat > server-csr.json <<EOF
{
    "CN": "kubernetes",
    "hosts": [
      "127.0.0.1",
      "192.168.3.90",
      "192.168.3.91",
      "192.168.3.92",
      "10.10.10.1",
      "kubernetes",
      "kubernetes.default",
      "kubernetes.default.svc",
      "kubernetes.default.svc.cluster",
      "kubernetes.default.svc.cluster.local"
    ],
    "key": {
        "algo": "rsa",
        "size": 2048
    },
    "names": [
        {
            "C": "CN",
            "L": "BeiJing",
            "ST": "BeiJing",
            "O": "k8s",
            "OU": "System"
        }
    ]
}
EOF

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

#-----------------------
openssl pkcs12 -export -in server.pem -inkey server-key.pem -out server.pk12 -name serverkey -passout pass:${PASS}
keytool -importkeystore -deststorepass ${PASS} -destkeypass ${PASS} -destkeystore server.keystore -srckeystore server.pk12 -srcstoretype PKCS12 -srcstorepass ${PASS} -alias serverkey
openssl x509 -outform der -in server.pem -out server.crt
openssl x509 -outform der -in ca.pem -out ca.crt

tomcat 配置

  • 如果使用nio链接
 <Connector
           protocol="org.apache.coyote.http11.Http11NioProtocol"
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="/root/ssl/server.keystore" keystorePass="123456"
           clientAuth="false" sslProtocol="TLS"/>
  • 如果使用apr链接
<Connector
           protocol="org.apache.coyote.http11.Http11AprProtocol"
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           SSLCertificateFile="/root/ssl/server.crt"
           SSLCertificateKeyFile="/root/ssl/server.pem"
           SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"/>

apr未验证

相关文章

  • cfssl生成ca证书

    前言 本文介绍,如何通过cfssl生成证书,并通过openssl以及keytool 转换生成相关文件。 安装 安装...

  • Centos7二进制部署k8s(一) Etcd集群

    一、部署etcd集群 使用cfssl来生成自签证书,先下载cfssl工具: 1.1 生成证书 1.2 部署Etcd...

  • centos7/6.9 docker-ce-17/1.7.1使用

    生成证书 ca key ca server key 生成server 证书 生成client证书 不推荐用dock...

  • 自签CA证书和签发证书

    生成CA根证书 生成服务私钥和证书请求 签发证书 查看证书 服务器导入CA证书

  • k8s cfssl自签证书

    1. 下载 cfssl 工具 2. 创建CA 3. 填写表单申请证书 json 文件及参数说明

  • k8s集群二进制部署过程

    1.部署ETCd集群下载cfssl工具: 生成Etcd证书:创建以下三个文件: 生成证书: 安装Etcd:二进制包...

  • openSSL创建自签名证书

    创建二级CA 生成CA签名请求 创建CA同时生成签名请求 使用根CA签发二级CA 创建自签名证书-服务器证书 生成...

  • Kubernetes | 二进制软件包方式部署 -- 生成SSL

    03 生成集群SSL证书 集群所需的 SSL 证书均通过 cfssl 工具包来生成。 以下内容均在本地主机上操作,...

  • cfssl

    下载 创建CA 创建证书请求 生成CA证书和私钥 创建kubernetes证书请求文件 kubernetes证书和...

  • CA证书

    数字证书认证机构-维基HTTPS证书生成原理和部署细节细说 CA 和证书CA和证书那些事OpenSSL生成根证书C...

网友评论

      本文标题:cfssl生成ca证书

      本文链接:https://www.haomeiwen.com/subject/pomfpftx.html