写在前面
早上去和老大解释了一通自己的理解,信心满满的去找服务端沟通去了,哪知自己理解的有偏差,在服务端小伙伴的帮助下终于又理清楚了一些。我知道来对了地方。
HOW - SSL证书怎么得到的
上一篇我们说到服务端有一个证书叫SSL证书,业界一般叫服务端证书(一般记做servercrt),那么这个servercrt证书是怎么得到的呢?请看下面的流程图:
备注:
由于 cakey(CA机构私钥) 和 cacrt(根证书) 是一对, 于是 cacrt 可以解密 servercrt。
WHAT- 单向和双向认证
1单向认证就是我们上一篇中提到的HOW-CA证书是怎么运行的,这是一个典型的单向认证,即客户端来校验服务端的证书信息,服务端不校验客户端信息,所以此种情况下,客户端需要有根证书,即cacrt,服务端需要有servercrt(服务端证书)和serverkey(私钥)。这个地方我之前理解servercrt时就错误了,我理解的servercrt依附于根证书,受根证书的有效期影响,但是通过上面servercrt的来源分析,我们知道servercrt只是CA机构签发的,签发后和根证书就没有关系了(当然,CA机构注销等除外),所以服务端有的只是servercrt这个证书。
2双向认证,即客户端和服务端互相验证对方的证书合法性,那这个时候两方都应该有类似的文件,即:
server 需要 serverkey 、servercrt 、cacrt
client 需要 clientkey 、clientcrt 、cacrt
双向认证的流程只是在客户端校验完成服务端证书后,再想服务端发送自己的证书信息,服务端来完成一次单向认证,这样就完成了一次双向认证。
WHAT - 证书格式
crt 表示证书, key表示私钥, req 表示请求文件,csr也表示请求文件, pem表示pem格式
其中windows平台下的证书后缀是pem,而linux平台的证书后缀是crt
参考资料:
通常一个完整的证书链包含三个文件:
当然,我们假设certpem是经过capem签名的。
把PEM格式转换成JKS格式通常会生成两个JKS文件。
然后我们可以keystorejks里面有多少个entry:
上面我们看到truststorejks里面只有一个入口:mykey;这个是缺省的名字,当我我们在添加的时候可以指定alias,例如:
我们指定了entry的一个alias别名;在看一遍:
这时truststorejks里面有两个entry,其中一个使用了别名myname;而且我们看到两个entry的SHA1是一样的,因为本身就是同一份证书,只是采用了一个不同的别名而已。
这个需要分两步完成:
此时看到的别名是"1",不知道为什么。
另外,如果需要使用别名alias,类似的:
注意别名alias是在第一步生成P12文件的时候通过-name参数执行,第二步没有别名相关参数。
另外,如果需要在keystore里面包含CA证书,则需要:
即在创建P12文件的时候指定CAfile参数,后面步骤就一样。代码如下: cat your_servercrt COMODORSADomainValidationSecureServerCAcrt COMODORSAAddTrustCAcrt AddTrustExternalCARootcrt > your_serverpem rt和cer是一样的格式合成cert,都是证书公钥文件 ;可以安装 Openssl ,使用 Openssl 来生成证书请求。参考Apahce服务器证书CSR生成指南,在生成私钥文件时,只需要将私钥文件名的后缀定义成 pem 就可以了。
通过阿里云控制台直接下载apache格式,压缩包中的文件就是pem格式的crt后缀文件。
如果对内容和 *** 作不太理解,建议咨询天威诚信等专业的CA机构,专业才能更好地解决问题。>
CRT = 扩展名CRT用于证书。证书可以是DER编码,也可以是PEM编码。扩展名CER和CRT几乎是同义词。这种情况在各种unix/linux系统中很常见。
CER = CRT证书的微软型式。可以用微软的工具把CRT文件转换为CER文件(CRT和CER必须是相同编码的,DER或者PEM)。扩展名为CER的文件可以被IE识别并作为命令调用微软的cryptoAPI(具体点就是rudll32exe
扩展资料
Windows中的证书扩展名有好几种,比如cer和crt。通常而言,cer文件是二进制数据,而crt文件包含的是ASCII数据。
cer文件包含依据DER(Distinguished Encoding Rules)规则编码的证书数据,这是x690标准中指定的编码格式。
X509是一个最基本的公钥格式标准,里面规定了证书需要包含的各种信息。通常我们提到的证书,都是这个格式的,里面包含了公钥、发布者的数字签名、有效期等内容。要强调的是,它只里面是不包含私钥的。相关的格式有:DER、PEM、CER、CRT。
参考资料:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)