摘要
本文章主要介绍开发k8s的webhook扩展程序是需要做的获取证书的流程,主要参考了一个webhook程序。是对该程序的自动生成脚本 webhook-create-signed-cert.sh的简单描述。
需要TLS验证的原因
- 首先API服务器与其他程序通信需要保证安全性,所以他们之间要https加密通信。
- webhook程序跟API服务器通信的时候可以理解为webhook程序是服务端,所以它要产生公私匙,将公匙交给客户端,让其加密后再发送数据。但是,客户端不知道服务端发公匙是不是伪造的,所以需要一个第三方机构CA进行证书签名。证书签名是使用CA的私匙加密,然后客户端用CA的公匙解密验证证书的真伪。
关于https和证书的相关知识
-
https连接的通信是加密的,建立连接的时候使用非对称加密,然后协商一个对称加密的密匙,之后使用对称加密的密匙进行加密通信。
-
要产生证书,需要申请者产生私匙和CSR证书请求文件,发送CSR给CA获得证书。
-
CSR 即证书签名申请(Certificate Signning Request),获取 SSL 证书,需要先生成 CSR 文件并提交给证书颁发机构&