Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Binary 将二进制blob私钥转换为base64格式_Binary_Openssl_Cryptography_Base64 - Fatal编程技术网

Binary 将二进制blob私钥转换为base64格式

Binary 将二进制blob私钥转换为base64格式,binary,openssl,cryptography,base64,Binary,Openssl,Cryptography,Base64,所以,我有一个二进制blob格式的私钥,看起来像一些加密的垃圾。现在,我应该怎么做才能将其转换为一个外观正确的私钥,并可由openssl使用 例如,我希望它是----开始私钥----somebase64----结束私钥---格式。 怎么可能呢?将二进制blob转换为字符串或base64解码整个过程,看看它产生了什么。如果它是gibrrish,您需要查看它的编码是否不同,或者是否加密。如果以后需要,则需要解密。 如果没有关于数据格式的更多细节,很难给出具体的答案。我尝试了类似于cat blob.b

所以,我有一个二进制blob格式的私钥,看起来像一些加密的垃圾。现在,我应该怎么做才能将其转换为一个外观正确的私钥,并可由
openssl
使用

例如,我希望它是
----开始私钥----somebase64----结束私钥---
格式。
怎么可能呢?

将二进制blob转换为字符串或base64解码整个过程,看看它产生了什么。如果它是gibrrish,您需要查看它的编码是否不同,或者是否加密。如果以后需要,则需要解密。

如果没有关于数据格式的更多细节,很难给出具体的答案。

我尝试了类似于
cat blob.bin | base64>secret.key
和附加开始和结束标记的方法。但失败。二进制文件可能是DER格式。要找到答案,请执行
openssl pkey-inform der-in key.blob-text-noout
(其中
key.blob
是二进制文件的名称)并查看openssl是否能够理解内容。如果这样做有效,那么将DER文件转换为您想要的格式(称为PEM格式)的命令将是
openssl pkey-inform DER-in key.blob-outform PEM-out key.PEM
使用PKCS#8编码您的私钥。
----BEGIN私钥---
是来自和朋友的PEM编码。我已经这么做了。fails@ottomeister我收到一个错误
无法加载密钥140149540597952:错误:0D07207B:asn1编码例程:asn1_get_对象:头太长:../crypto/asn1/asn1_lib.c:101:
,这意味着二进制blob不包含以DER格式编码的私钥。在我们知道你的blob的格式之前,我们只能猜测可能的解决方案。