怎么开免费网站,计算机网络实验 做网站的,计算机网页制作素材,做网站的一些好处1、安装
方式1#xff1a;直接下载 详见#xff1a;手动生成证书 | Kubernetes # 1、下载cfssl、cfssljson、cfssl-certinfo
# cfssl#xff1a;用于签发证书
# cfssljson#xff1a;将cfssl签发生成的证书(json格式)变成文件承载式文件
# cfssl-certinfo#xff1a;验…1、安装
方式1直接下载 详见手动生成证书 | Kubernetes # 1、下载cfssl、cfssljson、cfssl-certinfo
# cfssl用于签发证书
# cfssljson将cfssl签发生成的证书(json格式)变成文件承载式文件
# cfssl-certinfo验证查看证书信息
wget https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 -O /usr/local/bin/cfssl
wget https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 -O /usr/local/bin/cfssljson
wget https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -O /usr/local/bin/cfssl-certinfo# 2、给cfssl、cfssljson、cfssl-certinfo添加可执行权限
chmod x /usr/local/bin/cfssl*
方式2源码编译 详见https://github.com/cloudflare/cfssl 安装go
# 1、下载页面https://go.dev/dl/# 2、下载go
wget https://go.dev/dl/go1.21.6.linux-amd64.tar.gz# 3、解压
tar -xf go1.21.6.linux-amd64.tar.gz# 4、移动go到/usr/local/go
mv go /usr/local/go# 5、添加到环境变量
vi /root/.bash_profile # 6、/root/.bash_profile文件内容
# 内容开始----------------------------------------------
# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programs
# 【此处添加go相关信息并追加到PATH环境变量中】
GO_PATH/usr/local/go/binPATH$PATH:$HOME/bin:$GO_PATHexport PATH
# 内容结束----------------------------------------------# 7、使环境变量生效
source /root/.bash_profile# 8、在任意目录执行
go version
安装cfssl
# 1、下载页面https://github.com/cloudflare/cfssl/releases# 2、下载cfssl
wget https://github.com/cloudflare/cfssl/archive/refs/tags/v1.6.4.tar.gz -O cfssl-1.6.4.tar.gz# 3、解压
tar -xf cfssl-1.6.4.tar.gz# 4、进入目录
cd cfssl-1.6.4# 5、编译
make# 6、查看编译后的可执行文件
ls bin# 7、可将bin目录下的文件移动到/usr/local/bin
# 移动部分可执行文件
mv cfssl /usr/local/bin/cfssl
mv cfssl-certinfo /usr/local/bin/cfssl-certinfo
mv cfssljson /usr/local/bin/cfssljson
2、使用 https://github.com/cloudflare/cfssl/tree/master 查看某个命令使用cfssl [command] -help其中[command]为某个命令名称 # cfssl命令cfssl 或者 cfssl -help 或者 cfssl -h 或者 cfssl [command] -h
cfsslNo command is given.
Usage:
Available commands:ocspdumprevoke 吊销证书info 获取签名者信息serve 启动HTTP API服务器genkey 生成私钥和证书请求ocspservescanselfsign 生成自签证书bundle 生成证书bundlecertinfo 查看证书信息ocsprefreshocspsignprint-defaults 打印默认配置sign 签名证书version 查看版本gencert 生成私钥和证书gencrl 生成新的证书吊销列表
Top-level flags:-allow_verification_with_non_compliant_keysAllow a SignatureVerifier to use keys which are technically non-compliant with RFC6962.-loglevel intLog level (0 DEBUG, 5 FATAL) (default 1)2.1、print-defaults
2.1.1、查看config配置
# 查看config默认配置
cfssl print-defaults config# 默认配置数据
{signing: {default: {expiry: 168h},profiles: {www: {expiry: 8760h,usages: [signing,key encipherment,server auth]},client: {expiry: 8760h,usages: [signing,key encipherment,client auth]}}}
}
expiry8760h表示8760h/24365天有效期profiles指定证书使用场景后续签名生成证书及其私钥时需要指定该场景(profile)名称signing表示该证书可用于签名其它证书生成的 ca.pem 证书中 CATRUEserver auth表示 client 可以用该该证书对 server 提供的证书进行验证client auth表示 server 可以用该该证书对 client 提供的证书进行验证
2.1.2、查看csr配置
# 查看csr默认配置
cfssl print-defaults csr# csr默认数据
{CN: example.net,hosts: [example.net,www.example.net],key: {algo: ecdsa,size: 256},names: [{C: US,L: CA,ST: San Francisco}]
}CN字段说明
CNCommon Name所有csr文件都必须有字段对于 SSL 证书一般为网站域名而对于代码签名证书则为申请单位名称而对于客户端证书则为证书申请者的姓名。
hosts字段说明
hosts网络请求url中的合法主机名或域名集合。 注意 1) 超过该集合范围的任何请求都不会被支持认证通过。 2) CA根证书及其私钥创建过程不需要甚至该字段。其它服务证书创建必须有该字段。 3) hosts设置技巧一般都把127.0.0.1包含进去推荐使用域名或vipvip即虚拟ip,尽量不要用ip地址否则后期遇到某个服务所在机器宕机要重新更换某1台或多台机器时会面临证书认证不通过的毁灭性尴尬情况导致扩容失败集群服务面临毁灭性灾难。这里强烈推荐用域名或vip地址另外如果有条件配置之处建议多预留1-3个host地址防止后期扩容困难 key字段说明
keykey字段是必须有的字段其内容一般也比较固定就是{algo:rsa”,size:2048}表示使用的加密算法rsa,密文长度2048。
names字段说明
C(Country)所在国家简称只能是国家字母缩写如中国CNL(Locality) 所在地区/城市简称如Beijing/San FranciscoST(State/Provice)所在州/省份简称,如Beijing/CaliforniaO(Organization Name) 单位名称对于 SSL 证书一般为网站域名而对于代码签名证书则为申请单位名称而对于客户端单位证书则为证书申请者所在单位名称OU(other)显示其他内容,常见的内容值有“System、Website等
2.2、genkey
# genkey命令
cfssl genkey -h# genkey命令说明cfssl genkey -- generate a new key and CSRUsage of genkey:cfssl genkey CSRJSONArguments:CSRJSON: JSON file containing the request, use - for reading JSON from stdinFlags:-initcafalse: initialise new CA-config: path to configuration file
csr.json文件
{CN: test,hosts: [example.com,www.example.com,https://www.example.com,jdoeexample.com,127.0.0.1],key: {algo: rsa,size: 2048},names: [{C: US,L: San Francisco,O: Internet Widgets, Inc.,OU: WWW,ST: California}]
} 2.2.1、生成证书签名请求和私钥
# 生成证书签名请求和私钥
cfssl genkey csr.json# 显示结果{csr:证书签名请求,key:私钥}
{csr:-----BEGIN CERTIFICATE REQUEST-----\nMIIDKDCCAhACAQAweDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx\nFjAUBgNVBAcTDVNhbiBGcmFuY2lzY28xHzAdBgNVBAoTFkludGVybmV0IFdpZGdl\ndHMsIEluYy4xDDAKBgNVBAsTA1dXVzENMAsGA1UEAxMEdGVzdDCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBALiGBaS3cwbvPiCMn7E4Gtv8RcwhNssoZG64\nF9sK0Zdg4nlBz6/MJg23cRAPPgxUfFXd/Ad1S3K1xiOOW/Ron7pY4MIAfBXDv4NZ\n2wVz4tAGVIW32178dkRzFh9DcYSK0bTkJoHqxJ0uPr5cUcB8EmDkqoi2k4pp6lL\nfNaHP/CMz/fcYUuFEhKGrwQjVUpudcFSGbEYExw9omjLTXPcv5ETCM99ykq4M/g\nfrE8c1AOO9E7faOJ6DUzCoG1COL92wuQa8U4gqfQL944VodoW62nQLo0ldHbCerW\n1AuX2Jx/hRtproPoMHOn71eiKm/uqZNHyzXJuW6/GX/tQvkjN8CAwEAAaBrMGkG\nCSqGSIb3DQEJDjFcMFowWAYDVR0RBFEwT4ILZXhhbXBsZS5jb22CD3d3dy5leGFt\ncGxlLmNvbYIXaHR0cHM6Ly93d3cuZXhhbXBsZS5jb22BEGpkb2VAZXhhbXBsZS5j\nb22HBH8AAAEwDQYJKoZIhvcNAQELBQADggEBAEW4O5auXbUPhjPiknlydWMINGJ3\nk6/zq/9J7gBaTrRH/wSeXJrbekrww/1tkRCUFLCQgczWgcaKO34j0nWIsUOSIdl\nytpzVheiB3WIot62N6rBOpiCSRXOs9KWA1cK7lz8UcBi1GdgeEekXZSd3LJswO6\nLCTwM1dJUxzNDBHrS/UwGINBteLnqIK4O9pJHG564u1ArMncErs0tSCH7zOPcQWp\n1zbw2rL1LMo/ej8SNyr5LdlZJ9fqI6DQi0etUYUVmt/ErM86/SpIlPTL2a6I6fFb\nJ/L3K0oCEL9LC/CNMB8ZxTLjoqSgoCwlr4V54amiel31ewly2rbNCqRItgc\n-----END CERTIFICATE REQUEST-----\n,key:-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQEAuIYFpLdzBu8IIyfsTga2/xFzCE2yyhkbrgX2wrRl2DieUHP\nr8wmDbdxEA8DFR8Vd38B3VLcrXGI45b9GifuljgwgB8FcO/g1nbD5XPi0AZUhbf\nbXvx2RHMWH0NxhIrRtOQmgerEnS4vlxRwHwSYOSqiLaTimnqUt81oc/8IzP99xh\nS4USEoavBCNVSm51wVIZsRgTHD2iaMtNc9y/kRMIz733KSrgzBsTxzUA470Tt9\no4noNTMKgbUI4v3bC5BrxTiCp9Av3jhWh2hbradAujSV0dsJ6tbUC5fYnHFG2mu\ngj4wc6fvV6Iqb6pk0fLNcm5br8Zf1CSM3wIDAQABAoIBAHG03Mto5HAUg2NJ\nZKqvWRXQei5VFU/Rnzn/JWwsWYWABW8VVcL1TNEpF5yFhlBArFjLohmBk00qFmG\nwzF0O2F4nV/PLqe2zVAi0fPjrFYx9Kh6QcpUw26xIgwxW4h/770gaA4SxZE3yA\nRAausiSKJjxCzd5QcD4LICCLauL/kFgIjNajTjGfjVmsDJDUF9Q5kUbcfnEj0d\nTIG9k6XzkAgboS7o6dBK0BXDrWr2Btnzmbf0eJUXFVZkpYaHcwgqo988e8ubsoBb\niq33BDyH5VGc/Vr5BwRoAxQOdx0JgISKMv09l0fD/DvIHivymIw5BYgn8c2/bOL\nLCDPn6kCgYEA1dp9cbXvMsG2gEOwnTeQlrY7P3Wa5FcGtF3n6Z4ZF2DSdwcdgO\nKPepwHe9yMYDnfQkj8eoAd6evgnAXyCqXCrFD9V83S3qj8Pdo8mw2hTcxfx6kYNX\ny5zpdgnEH6tYXr0qaGZs5WUvq372lG8OfGfMGRrLpJVG3rTd/beDKMCgYEA3OPA\n2b5Qo/5Ejt8u7wJ/QwKWKx5vcWgl7KHqgfGB/0X19OIKGcQQTaJ2dQCkfM1ZL\nYuegmtMavvQ5rrpNGJT7bwrpjedB9cSbvr9zEkgw1cj/ZNSxak6tV130ZVr3864\nADBm2CYWyyUO26fz9yf9fdqNl7U8QEDta9uNJpUCgYB7nn19SeonsQd/ZaGmgAQ\n42saM/HK5JAVgJhh1V0qx1QOptm9NWOaEvAxrgYrFSvqFsM7yfI4gnPI7uIhG0Tf\nWmnnqUUwpeY9jLGeoSczAqCFvx2bbaoK3j6elRVT8UJM1q5Cp2wHNnuUMpBK6F\n4EJhOusqVLSV2f58Dlx1eQKBgCC/UzP01xe49okH5XlhsWRsdgw3ZcUQq4JR4XL/\nvAgrjJ4nDvofe37YLW52T33XmtyNipebJ2BMs8Zjhrm0vQFL9Qq9YotZ61niNMVn\nSIEkxkqvfJJ3aOoM8Ls6pCzaLif8CaNdiaG5498yG0XNXInjz9z8rck0AT61YX2A\nCykRAoGAPbr3tp/XbRWDUvZNrKlAhUEFjuFU9pBQFqBPTlFS45OrotE806QVrYi\n4vcYqvHbSypSecI10DEE7RbxIYaCr9pMqdPvlUkopp1mw5hmZprn5lE2Gz0Y/dv0\nAso0bCLAT7H7hx9/58h9y4IBbFOVop7g0wnZS/t18NqgOPHE8\n-----END RSA PRIVATE KEY-----\n}
2.2.2、生成自签名根 CA 证书和私钥
# 生成自签名根 CA 证书和私钥
cfssl genkey -initca csr.json | cfssljson -bare ca# 查看文件列表
ls# 显示内容输出中将出现三个 PEM 编码的实体私钥、csr 和自签名证书
ca.csr ca-key.pem ca.pem csr.json
2.3、gencert
# 查看gencert命令
cfssl gencert -h# gencert命令说明cfssl gencert -- generate a new key and signed certificateUsage of gencert:Generate a new key and cert from CSR:cfssl gencert -initca CSRJSONcfssl gencert -ca cert -ca-key key [-config config] [-profile profile] [-hostname hostname] CSRJSONcfssl gencert -remote remote_host [-config config] [-profile profile] [-label label] [-hostname hostname] CSRJSONRe-generate a CA cert with the CA key and CSR:cfssl gencert -initca -ca-key key CSRJSONRe-generate a CA cert with the CA key and certificate:cfssl gencert -renewca -ca cert -ca-key keyArguments:CSRJSON: JSON file containing the request, use - for reading JSON from stdinFlags:-initcafalse: initialise new CA-remote: remote CFSSL server-ca: CA used to sign the new certificate-ca-key: CA private key-config: path to configuration file-hostname: Hostname for the cert, could be a comma-separated hostname list-profile: signing profile to use-label: key label to use in remote CFSSL server 利用CA根证书及其私钥文件签发生成其它证书及其私钥 步骤如下 创建CA根证书配置文件ca-config.json、ca-csr.json、目标证书签名请求文件server-csr.json生成CA根证书及其私钥生成目标证书和私钥校验证书 详见手动生成证书 | Kubernetes 2.3.1、创建文件
ca-config.json文件用来生成 CA 文件 CA根证书配置文件一般命名为ca-config.json,它用于配置根证书的使用场景 (profile) 和具体参数 (usage过期时间、服务端认证、客户端认证、加密等)后续在签名其它证书时需要指定特定场景 (profile)。 {signing: {default: {expiry: 8760h},profiles: {kubernetes: {usages: [signing,key encipherment,server auth,client auth],expiry: 8760h}}}
}
ca-csr.json文件用于 CA 证书签名请求
{CN: kubernetes,key: {algo: rsa,size: 2048},names:[{C: country,ST: state,L: city,O: organization,OU: organization unit}]
}
server-csr.json文件用来为 API 服务器生成秘钥和证书
{CN: kubernetes,hosts: [127.0.0.1,MASTER_IP,MASTER_CLUSTER_IP,kubernetes,kubernetes.default,kubernetes.default.svc,kubernetes.default.svc.cluster,kubernetes.default.svc.cluster.local],key: {algo: rsa,size: 2048},names: [{C: country,ST: state,L: city,O: organization,OU: organization unit}]
}
2.3.2、生成CA根证书及其私钥
生成 CA 秘钥文件ca-key.pem和证书文件ca.pem
# 生成CA根证书及其私钥
cfssl gencert -initca ca-csr.json | cfssljson -bare ca# 使用命令ls查看文件列表
ca.csr ca-csr.json ca-key.pem ca.pem# 注意cfssljson -bare 命名文件名
# 如本例中的ca表示生成ca.pem和ca-key.pem,分别为证书和私钥文件。
# 生成的ca.pem是CA根证书文件ca-key.pem是其私钥文件。
# 至此CA根证书及其私钥文件已经生成便可以用它们来签发其他认证文件了。
2.3.3、根据CA根证书及其私钥签名生成目标证书和私钥
生成秘钥和证书默认会分别存储为server-key.pem 和 server.pem 两个文件。
# 生成目标证书和私钥
cfssl gencert -caca.pem -ca-keyca-key.pem \--configca-config.json -profilekubernetes \server-csr.json | cfssljson -bare server# 参数说明
# -ca: 根证书
# -ca-key: 根秘钥
# -config: 根证书的配置文件里面定义了很多场景
# -profile 选择根证书配置文件里的一个场景
# server-csr.json : 申请证书的对象的相关信息配置文件
# -bare制造的证书文件的文件名称或前缀# 使用ls命令查看文件列表
ca-config.json ca.csr ca-csr.json ca-key.pem ca.pem server.csr server-csr.json server-key.pem server.pem
2.3.4、校验证书
# 方式1使用openssl命令校验证书
openssl x509 -noout -text -in etcd.pem# 说明
# 确认 Issuer 字段的内容和 ca-csr.json 一致
# 确认 Subject 字段的内容和 etcd-csr.json 一致
# 确认 X509v3 Subject Alternative Name 字段的内容和 etcd-csr.json 一致
# 确认 X509v3 Key Usage、Extended Key Usage 字段的内容和 ca-config.json 中 etcd-opprofile 一致# 方式2使用cfssl-certinfo命令校验证书
cfssl-certinfo -cert ca.pem 详见
https://github.com/cloudflare/cfssl
Introducing CFSSL - CloudFlares PKI toolkit
手动生成证书 | Kubernetes
CloudFlare 开源证书管理工具 cfssl 详细使用教程 - 知乎
cfssl自签CA证书用于TLS/SSL认证技术指南
cfssl使用方法重新整理说明-CSDN博客
我在B站学运维之SSL与TLS协议原理与证书签名多种生成方式实践指南 - 哔哩哔哩
cfssl证书工具_Star-Seven的技术博客_51CTO博客 文章转载自: http://www.morning.jxdhc.cn.gov.cn.jxdhc.cn http://www.morning.bsxws.cn.gov.cn.bsxws.cn http://www.morning.tlbhq.cn.gov.cn.tlbhq.cn http://www.morning.wjzzh.cn.gov.cn.wjzzh.cn http://www.morning.mwpcp.cn.gov.cn.mwpcp.cn http://www.morning.ptqbt.cn.gov.cn.ptqbt.cn http://www.morning.xmbhc.cn.gov.cn.xmbhc.cn http://www.morning.tklqs.cn.gov.cn.tklqs.cn http://www.morning.kkwbw.cn.gov.cn.kkwbw.cn http://www.morning.ljhnn.cn.gov.cn.ljhnn.cn http://www.morning.sgbjh.cn.gov.cn.sgbjh.cn http://www.morning.rxtxf.cn.gov.cn.rxtxf.cn http://www.morning.wqbzt.cn.gov.cn.wqbzt.cn http://www.morning.jrpmf.cn.gov.cn.jrpmf.cn http://www.morning.wdjcr.cn.gov.cn.wdjcr.cn http://www.morning.kstlm.cn.gov.cn.kstlm.cn http://www.morning.pqhgn.cn.gov.cn.pqhgn.cn http://www.morning.mwbqk.cn.gov.cn.mwbqk.cn http://www.morning.lblsx.cn.gov.cn.lblsx.cn http://www.morning.cfcpb.cn.gov.cn.cfcpb.cn http://www.morning.dhqyh.cn.gov.cn.dhqyh.cn http://www.morning.zfhwm.cn.gov.cn.zfhwm.cn http://www.morning.newfeiya.com.cn.gov.cn.newfeiya.com.cn http://www.morning.hsflq.cn.gov.cn.hsflq.cn http://www.morning.tfpqd.cn.gov.cn.tfpqd.cn http://www.morning.yqqgp.cn.gov.cn.yqqgp.cn http://www.morning.rylr.cn.gov.cn.rylr.cn http://www.morning.sjpbh.cn.gov.cn.sjpbh.cn http://www.morning.hkpyp.cn.gov.cn.hkpyp.cn http://www.morning.qjxkx.cn.gov.cn.qjxkx.cn http://www.morning.rwzmz.cn.gov.cn.rwzmz.cn http://www.morning.ymjgx.cn.gov.cn.ymjgx.cn http://www.morning.kongpie.com.gov.cn.kongpie.com http://www.morning.kbqbx.cn.gov.cn.kbqbx.cn http://www.morning.zcncb.cn.gov.cn.zcncb.cn http://www.morning.zcmpk.cn.gov.cn.zcmpk.cn http://www.morning.jqjnl.cn.gov.cn.jqjnl.cn http://www.morning.rtspr.cn.gov.cn.rtspr.cn http://www.morning.khpx.cn.gov.cn.khpx.cn http://www.morning.kfmlf.cn.gov.cn.kfmlf.cn http://www.morning.trrrm.cn.gov.cn.trrrm.cn http://www.morning.bzfwn.cn.gov.cn.bzfwn.cn http://www.morning.zlrsy.cn.gov.cn.zlrsy.cn http://www.morning.qpljg.cn.gov.cn.qpljg.cn http://www.morning.khclr.cn.gov.cn.khclr.cn http://www.morning.qgjxt.cn.gov.cn.qgjxt.cn http://www.morning.qkxnw.cn.gov.cn.qkxnw.cn http://www.morning.trrhj.cn.gov.cn.trrhj.cn http://www.morning.madamli.com.gov.cn.madamli.com http://www.morning.qkxnw.cn.gov.cn.qkxnw.cn http://www.morning.gyfhk.cn.gov.cn.gyfhk.cn http://www.morning.xmpbh.cn.gov.cn.xmpbh.cn http://www.morning.tkyxl.cn.gov.cn.tkyxl.cn http://www.morning.rjmg.cn.gov.cn.rjmg.cn http://www.morning.bmlcy.cn.gov.cn.bmlcy.cn http://www.morning.addai.cn.gov.cn.addai.cn http://www.morning.zrdqz.cn.gov.cn.zrdqz.cn http://www.morning.hyryq.cn.gov.cn.hyryq.cn http://www.morning.tbjb.cn.gov.cn.tbjb.cn http://www.morning.hfrbt.cn.gov.cn.hfrbt.cn http://www.morning.lqqqh.cn.gov.cn.lqqqh.cn http://www.morning.qrmry.cn.gov.cn.qrmry.cn http://www.morning.kqbwr.cn.gov.cn.kqbwr.cn http://www.morning.jzlfq.cn.gov.cn.jzlfq.cn http://www.morning.qgfkn.cn.gov.cn.qgfkn.cn http://www.morning.sbczr.cn.gov.cn.sbczr.cn http://www.morning.hnhsym.cn.gov.cn.hnhsym.cn http://www.morning.jfymz.cn.gov.cn.jfymz.cn http://www.morning.rjmb.cn.gov.cn.rjmb.cn http://www.morning.ujianji.com.gov.cn.ujianji.com http://www.morning.gbgdm.cn.gov.cn.gbgdm.cn http://www.morning.kmkpm.cn.gov.cn.kmkpm.cn http://www.morning.mhnd.cn.gov.cn.mhnd.cn http://www.morning.xnltz.cn.gov.cn.xnltz.cn http://www.morning.gcbhh.cn.gov.cn.gcbhh.cn http://www.morning.jjrsk.cn.gov.cn.jjrsk.cn http://www.morning.wglhz.cn.gov.cn.wglhz.cn http://www.morning.kfrhh.cn.gov.cn.kfrhh.cn http://www.morning.ttshf.cn.gov.cn.ttshf.cn http://www.morning.zpqbh.cn.gov.cn.zpqbh.cn