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

How to obtain private RSA key(private) as byte array in pgp file?

我知道

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私钥

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

检查一下

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

首先确保您删除了密钥的密码

 gpg --edit-key KEY_NAME

写 密码 在 gpg 控制台上,按两次 ENTER 键输入新密码。

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

您需要安装pgpdump

 sudo apt-get install pgpdump

运行

pgpdump -i -p KEY_FILE

转储 RSA 密钥的所有组件。