如何在pgp文件中获取私有RSA密钥(私有)作为字节数组?

时间:2015-06-20 19:52:45

标签: rsa gnupg private-key

我知道

gpg --export-secret-keys KEY_NAME > KEY_FILE

以pgp格式打印文件的密钥。但我需要的是获取2048字节的RSA密钥作为字节数组。

为什么我需要那个?我正在尝试将包含密钥的文件中使用RSA密钥的签名结构转换为字节数组。像。的东西。

bac6388....

我想首先以这种格式使用我的pgp密钥。然后我将开始使用pgp键。

当我跑步时

 gpg --export-secret-keys KEY_NAME | xxd -p

它打印出我想要的内容,如下所示。

 9503be04556716da010800c92a2dee0cd36694c3337b9845d9d3653d9f02
 8398ebbfdc054657df710ab9d44cdd8bcfe9ea182dd257a629bd3d7ca045
 9878b7384b265f5967117ea314b1b1a3a6e376115de26cd90d59327920b5
 4af9022e1d60ec82.............

我需要的只是这个数组中的2048位(256字节)RSA密钥。 也欢迎openssh(pem,crt)或openssl格式甚至C / C ++,因为我可以将密钥翻译成这些格式。

我只想将私钥作为字节数组。

由于

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

嗨,这是解决方案(在Ubnuntu上)

首先请务必删除密钥的密码

 gpg --edit-key KEY_NAME

写入      passwd文件 在gpg consoler上按两次ENTER输入新密码。

然后      gpg --export-secret-keys KEY_NAME> KEY_FILE

您需要安装pgpdump

 sudo apt-get install pgpdump

运行

pgpdump -i -p KEY_FILE

转储RSA密钥的所有组件。