kubernetes ApiServer CA证书续期

目录

将根证书、根私钥、apiserver证书拷到一个目录下

获取subject

生成extfile

生成csr

查看新签发的csr

生成新证书

查看证书内容

校验证书是否有效 

常用命令 


将根证书、根私钥、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