真正的稳定,是自己不断成长,不断寻找新的空间。与其要稳定,不如开始拥抱这个变化的时代,让自己准备好。
【写在前面】
早上去和老大解释了一通自己的理解,信心满满的去找服务端沟通去了,哪知自己理解的有偏差,在服务端小伙伴的帮助下终于又理清楚了一些。我知道来对了地方。
【HOW - SSL证书怎么得到的】
上一篇我们说到服务端有一个证书叫SSL证书,业界一般叫服务端证书(一般记做server.crt),那么这个server.crt证书是怎么得到的呢?请看下面的流程图:
server.crt备注:
由于 ca.key(CA机构私钥) 和 ca.crt(根证书) 是一对, 于是 ca.crt 可以解密 server.crt。
【WHAT- 单向和双向认证】
1.单向认证就是我们上一篇中提到的【HOW-CA证书是怎么运行的】,这是一个典型的单向认证,即客户端来校验服务端的证书信息,服务端不校验客户端信息,所以此种情况下,客户端需要有根证书,即ca.crt,服务端需要有server.crt(服务端证书)和server.key(私钥)。这个地方我之前理解server.crt时就错误了,我理解的server.crt依附于根证书,受根证书的有效期影响,但是通过上面server.crt的来源分析,我们知道server.crt只是CA机构签发的,签发后和根证书就没有关系了(当然,CA机构注销等除外),所以服务端有的只是server.crt这个证书。
2.双向认证,即客户端和服务端互相验证对方的证书合法性,那这个时候两方都应该有类似的文件,即:
server 需要 server.key 、server.crt 、ca.crt
client 需要 client.key 、client.crt 、ca.crt
双向认证的流程只是在客户端校验完成服务端证书后,再想服务端发送自己的证书信息,服务端来完成一次单向认证,这样就完成了一次双向认证。
【WHAT - 证书格式】
.crt 表示证书, .key表示私钥, .req 表示请求文件,.csr也表示请求文件, .pem表示pem格式
其中windows平台下的证书后缀是.pem,而linux平台的证书后缀是.crt
网友评论