【安全】CA证书小记续

【安全】CA证书小记续,第1张

写在前面

    早上去和老大解释了一通自己的理解,信心满满的去找服务端沟通去了,哪知自己理解的有偏差,在服务端小伙伴的帮助下终于又理清楚了一些。我知道来对了地方。

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

参考资料:

>如何把PEM格式证书转换成JKS格式。

通常一个完整的证书链包含三个文件:

当然,我们假设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。

参考资料:

百度百科 - cer


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10422819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-08
下一篇 2023-05-08

发表评论

登录后才能评论

评论列表(0条)

保存