目录
将根证书、根私钥、apiserver证书拷到一个目录下
cp /etc/kubernetes/pki/ca.key /etc/kubernetes/pki/ca.crt /etc/kubernetes/pki/apiserver.crt /home/sunwenbo
获取subject
openssl x509 -text -noout -in ca.crt | grep "Subject:" | sed 's/Subject:/\//g;s/\,/\//;s/[[:space:]]//g'
subj=`openssl x509 -text -noout -in ca.crt | grep "Subject:" | sed 's/Subject:/\//g;s/\,/\//;s/[[:space:]]//g'`
生成extfile
cat > extfile.conf << EOF
distinguished_name = dn
[dn]
[v3_ext]
keyUsage = critical, digitalSignature, keyEncipherment, keyCertSign
basicConstraints = critical, CA:TRUE
EOF
生成csr
根据获取到的subject ca私钥 extfile 生成新的请求文件
v3_ext说明:实际上就是x.509 v3_ext (extension 扩展)证书主要是基于ITU X.509标准的一种数字证书,x.509标准定义了PKI(public key infrastructure)证书的格式。x.509证书主要是用来管理互联网通讯中的身份和安全。v3代表
简单来说,x.509证书就是基于x.509标准的PKI。指明了如何颁发和管理证书。
openssl req -new -key ca.key -subj "${subj}" -reqexts v3_ext -config extfile.conf -out ca.csr
查看新签发的csr
openssl req -text -noout -in ca.csr
生成新证书
openssl x509 -req -days 36500 -in ca.csr -signkey ca.key -set_serial 0 -extensions v3_ext -extfile extfile.conf -out ca1.crt
查看证书内容
openssl x509 -noout -text -in ca1.crt
校验证书是否有效
openssl verify -CAfile ca1.crt apiserver.crt
常用命令
查看私钥内容 #以纯文本格式输出私钥内容
openssl rsa -in docker2.yidian.com.key -text
#不输出私钥内容
openssl rsa -in docker2.yidian.com.key -text -noout
#将生成私钥加密
openssl rsa -in docker2.yidian.com.key -des3 -passout pass:123456 -out docker2.yidian.com.key
#读取加密的私钥
openssl rsa -in docker2.yidian.com.key -passin pass:123456
#从私钥中提取公钥
openssl rsa -in docker2.yidian.com.key -passin pass:123456 -pubout -out public.key
#读取公钥内容
openssl rsa -pubin -in public.key
#以文本格式输出公钥内容
openssl rsa -pubin -in public.key -text
#不输出公钥内容
openssl rsa -pubin -in public.key -text -noout
check检测私钥文件的一致性,查看私钥文件被修改过。
openssl rsa -in docker2.yidian.com.key -check
查看crt证书的内容
openssl x509 -in apiserver.crt -text -noout
查看csr证书的内容
openssl req -text -noout -in ca.csr