2015-11-16 38 views
1

我正在嘗試寫一個使用gpg加密/解密文件的小型C++應用程序。我正在使用GpgME庫。C++定製pinentry包裝

我希望能夠有一點點線編輯,用戶可以爲他要用解密消息,而不是彈出的GPG的pinentry應用的關鍵輸入密碼。

我可以通過執行來禁用pinentry應用程序來彈出: gpgme_set_pinentry_mode(context,GPGME_PINENTRY_MODE_CANCEL);

但我無法以任何其他方式提供密碼。我現在一直在Google上搜索幾個星期,從我能收集的信息中,人們會說我可以寫一個「custom pinentry wrapper」並以這種方式提供密碼。我試圖把我的大腦包裹在這裏,但我不知道這意味着什麼或如何去做。

任何人都能幫我解釋一下這個嗎?

回答

0

爲什麼你不希望使用默認的pinentry和擔心安全處理(主)密碼或PIN(使用GnuPG的卡的人)?

我建議不要爲GPG(2)系統的受審覈和支持部分創建自定義解決方案。

+1

我正在使用沒有人真正知道密碼的組密鑰。我正在使用他們的個人密鑰來解密組密鑰,然後我使用它來解鎖實際的內容。所以這是我需要提供的組密鑰密碼,而不需要任何用戶輸入。 – pskaa

+0

這聽起來像是一個有效的但仍然非常危險的選擇。 你有沒有試過這個「竅門」https://www.gnupg.org/documentation/manuals/gnupg/gpg_002dpreset_002dpassphrase.html –