如何用openss将java生成的公钥转换成pem格式

2024-09-26 18:00:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个公开的RSA密钥,如下所示:

MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHn/hfvTLRXViBXTmBhNYEIJeGGGDkmrYBxCRelri
LEYEcrwWrzp0au9nEISpjMlXeEW4+T82bCM22+JUXZpIga5qdBrPkjU08Ktf5n7Nsd7n9ZeI0YoAKCu
b3ulVExcxGeS3RVxFai9ozERlavpoTOdUzEH6YWHP4reFfpMpLzwIDAQAB

我需要把它转换成PEM格式,这样我就可以用这个公钥写我自己的python代码,我看到有很多相反的操作的答案,但是现在我需要把它从JAVA风格转换成PEM,有谁能帮忙吗?在


Tags: 答案代码风格格式密钥javapemrsa
2条回答

您可以创建如下bash脚本:

#!/bin/bash

# Loop through all the certs in the current folder that have the .cer extension
for cert in *.cer
do

#get filename wihtout ext
filename="${cert%.*}"
#echo ${filename} 

#convert to PEM
openssl x509 -inform der -in ${cert} -outform pem -out ${filename}.crt

done

我用这个把证书转换成pem格式。希望能有所帮助

只需将base64编码的pub密钥转换回openssl:

echo "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHn/hfvTLRXViBXTmBhNYEIJeGGGDkmrYBxCRelriLEYEcrwWrzp0au9nEISpjMlXeEW4+T82bCM22+JUXZpIga5qdBrPkjU08Ktf5n7Nsd7n9ZeI0YoAKCub3ulVExcxGeS3RVxFai9ozERlavpoTOdUzEH6YWHP4reFfpMpLzwIDAQAB" | base64 -d | openssl rsa -inform der -pubin -out rsakey.pub

-inform der正在通知openssl将密钥作为二进制(默认值为PEM)

-pubin表示期望一个public(默认为private)

-out将写入密钥


另一种方法是在base64编码的rsa公钥前后附加openssl标记:

^{pr2}$

相关问题 更多 >

    热门问题