我知道
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++,因为我可以将密钥转换为这些格式。
我只想获取私钥作为字节数组。
谢谢
这篇文章可以帮助您通过java获取RSA私钥
如何从文件加载 RSA 私钥
PGP 加密和解密与 Java
从 PKCS12 文件中提取公钥/私钥,以便以后在 SSH-PK-身份验证中使用
检查一下
这是解决方案(在 Ubnuntu 上)
首先确保您删除了密钥的密码
gpg --edit-key KEY_NAME
写 passwd在 GPG 控制台上,然后按两次 ENTER 键获取新密码。
然后 GPG --导出密钥 KEY_NAME> KEY_FILE
你需要安装 pgpdump
sudo apt-get install pgpdump
跑
pgpdump -i -p KEY_FILE
转储 RSA 密钥的所有组件。