HTTPS-p7b证书转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTPS-p7b证书转换相关的知识,希望对你有一定的参考价值。

近期在配置https工单时,遇到两起客户提供的crt非标准,需要根据p7b及crt文件手动从p7b文件以base64编码逐个导出证书后拼接为新的crt,过程较繁琐。为提升效率,网上查询找到了使用命令转换crt的方法,步骤如下:

以1.a.com.p7b证书为例,转换为1.a.com.crt

  1. 运行fold命令转换格式
    fold -w 64 1.a.com.p7b > temp.p7b
  2. 使用OPENSSL将p7b转换为crt
    openssl pkcs7 -print_certs -in temp.p7b |grep -Ev ‘^\s*$|subject|issuer‘ > 1.a.com.crt

    对应脚本

#!/bin/bash
p7b_file="$1"
p7b_filename=$(echo ${p7b_file} |sed -r ‘s#(.*).p7b#\1#g‘)
usage ()
{
    echo "Usage:sh $0 p7b_file"
    exit 0
}
[ $# -ne 1 ] && usage
fold -w 64 ${p7b_file} > temp.p7b
openssl pkcs7 -print_certs -in temp.p7b |grep -Ev ‘^\s*$|subject|issuer‘ > ${p7b_filename}.crt

  • 使用方法
    sh p7b_to_crt.sh p7b文件

  • 实际用例
    sh p7b_to_crt.sh owner1a_520wdy_com.p7b

生成的crt在当前目录下,与p7b文件同名。
技术分享图片

以上是关于HTTPS-p7b证书转换的主要内容,如果未能解决你的问题,请参考以下文章

将.crt、.cer、.pfx、.p7b、.der的ssl证书转换成.pem格式

一些常用的密钥证书转换命令收集

C#,无法将 .p7b 证书导入 Windows 商店

证书格式转换

使用Java中的bouncycastle生成p7b证书链

常见的数字证书格式与格式转换