如何将二进制Blob私钥转换为OpenSSL可用的Base64格式?
把二进制Blob私钥转成OpenSSL兼容的PEM格式
嘿,这个问题我日常处理密钥的时候经常碰到,其实用OpenSSL自带的命令就能快速搞定,分两种常见场景给你拆解:
情况1:你的二进制Blob是PKCS#8格式私钥(通用标准二进制私钥格式)
这是最常见的二进制私钥格式,直接用pkcs8命令转换:
openssl pkcs8 -inform DER -in your-blob-file.bin -outform PEM -out private-key.pem
- 参数说明:
-inform DER:告诉OpenSSL输入的是二进制DER格式(也就是你说的加密乱码Blob)-in your-blob-file.bin:替换成你的二进制私钥文件路径-outform PEM:指定输出为OpenSSL识别的PEM格式(带-----BEGIN PRIVATE KEY-----头的那种)-out private-key.pem:设置输出的PEM格式私钥文件名
情况2:你的二进制Blob是原始RSA私钥(PKCS#1格式)
如果是纯RSA的二进制私钥,用rsa命令处理:
openssl rsa -inform DER -in your-rsa-blob.bin -outform PEM -out rsa-private-key.pem
- 参数逻辑和上面类似,
rsa命令专门用于处理RSA类型的密钥。
小技巧:不确定Blob格式怎么办?
可以先试试PKCS#8的命令,要是报错,再换RSA的。或者用下面的命令解析Blob的ASN.1结构,判断到底是什么格式:
openssl asn1parse -in your-blob-file.bin
另外,如果你的二进制Blob是带密码加密的,执行命令时会提示你输入解密密码,输入正确就能完成转换啦。
内容的提问来源于stack exchange,提问作者Adshead
相关产品推荐
相关产品推荐

