我们项目中有时可能因为需要因此要校验持有证书是否是合法证书,因此需要校验当前证书的证书链;但是,可能有时由于其它原因没有证书链,下面介绍说明如何根据证书链的证书生成p7b证书链;
首先,假设我们有一级证书 root01.cer、二级证书root02.cer 及需要校验的证书 user.cer
第一步:
如果制作证书链我们需要将der编码证书转换为pem,我们可以利用openssl指令,操作如下:
//der转pem
//一级根转换
openssl x509 -inform DER -in root01.cer -outform PEM -out root01.pem
//二级根转换
openssl x509 -inform DER -in root02.cer -outform PEM -out root02.pem
第二步
合成p7b证书链,操作如下:
//合成p7b
openssl crl2pkcs7 -certfile root01.pem -certfile root02.pem -outform DER -out root.p7b -nocrl
最终生成的root.p7b就是需要的证书链;
总结
其实根据证书生成证书链主要通过openssl指令完成,操作指令如下:
//der转pem
1、openssl x509 -inform DER -in test.cer -outform PEM -out test.pem
//合成p7b
2,openssl crl2pkcs7 -certfile secondRoot.pem -certfile Root.pem -outform DER -out second.p7b -nocrl