04.非对称加密 - wwj-2017-1117/AES_OK GitHub Wiki
golang中关于RSA加密、解密、签名、验签的总结 https://blog.csdn.net/xz_studying/article/details/80314111?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
非对称加密: 加密/解密是采用公钥加密,私钥解密。(对方用我的公钥加密数据; 我自己,用我的私钥解密数据)。 签名/验签是采用私钥签名,公钥验签。(数字证书 包含明文公钥)
服务端传来的数字证书是由某个特定CA签发的(如果是self-signed,即自签发的也无妨). 客户端传来的数字证书是由某个特定CA签发的(如果是self-signed,即自签发的也无妨).
浏览器内置证书,假定是安全可靠的。 客户端,用ca.crt 中的公钥 获取 server.crt 中的公钥 server.pubkey,然后用 server.pubkey 解密数据,然后发送出去。 服务端,用ca.crt 中的公钥 获取 client.crt 中的公钥 client.pubkey,然后用 client.pubkey 解密数据,然后发送出去。
// go struct{} 空结构体的特点和作用 // https://www.cnblogs.com/MyUniverse/p/11595043.html // https://golangtc.com/t/575442b8b09ecc02f7000057 // https://blog.csdn.net/weixin_44328662/article/details/86501900 // Go语言--空结构体struct{}解析
kubelet 命令 (客户端命令) alias kc="/var/paas/kubernetes/kubectl --client-certificate=/var/paas/srv/kubernetes/server.cer --client-key=/var/paas/srv/kubernetes/server_key.pem --certificate-authority=/var/paas/srv/kubernetes/ca.crt"
解释: 1.加载证书,验证服务端(apiserver)发送过来的证书,并从该证书中提取出服务端的公钥 --certificate-authority=/var/paas/srv/kubernetes/ca.crt
2.传递server端证书,server端也要验证客户端合法性,并从client端的证书从提取出客户端的公钥 --client-certificate=/var/paas/srv/kubernetes/server.cer
3.用来解密 server 端发送过来的数据(因为sever端用客户端的公钥解密了数据) --client-key=/var/paas/srv/kubernetes/server_key.pem