2015-06-20 46 views
1

我知道如何獲取專用RSA密鑰(私有)作爲pgp文件中的字節數組?

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

我在開始時寫了2048字節。我想說2048位(256字節) – ataman

回答

0

你好這裏是解決方案(上Ubnuntu)

首先確保你取消了GPG安慰時,安慰並按下鍵

gpg --edit-key KEY_NAME 

寫 passwd文件 的密碼輸入兩次新密碼。

然後 GPG --export祕密密鑰KEY_NAME> KEY_FILE

您需要安裝pgpdump

sudo apt-get install pgpdump 

運行

pgpdump -i -p KEY_FILE 

轉儲RSA密鑰的所有組件。