我知道
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 ++,因为我可以将密钥翻译成这些格式。
我只想将私钥作为字节数组。
由于
答案 0 :(得分:0)
这篇帖子我相信可以帮助你通过java获取你的RSA私钥
How to Load RSA Private Key From File
PGP Encryption and Decryption with Java
Extract public/private key from PKCS12 file for later use in SSH-PK-Authentification
检查
答案 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密钥的所有组件。