我使用python-gnupg加密文件,它看起來像encrypt_file onlys接受sign參數的單個鍵。如果我有一個帶有多個密鑰的密鑰文件,我想用該密鑰文件進行加密,那麼我該怎麼做?如果我理解正確,我應該能夠使用多個密鑰加密文件。使用多個鍵在python-gnupg中加密文件
0
A
回答
0
在閱讀python-gnupg文檔後再次重新閱讀您的問題,我想您在詢問有關使用多個私鑰簽署文檔的同時,您正在對它進行加密。
不幸的是,python-gnupg不支持該進程,因爲GnuPG也不支持它。您必須決定您希望如何應用您的簽名,然後逐個完成。
例如,您可以通過使用一個密鑰進行加密和簽名,然後使用另一個私鑰對結果進行簽名(以及對超出第二個的任何其他密鑰進行重複)來分層簽名。
或者,您可以創建幾個「分離」簽名,每個簽名都只是基本文檔(因此不會將簽名應用於其他簽名)。這有點複雜,因爲我不確定是否有任何文件格式會被GnuPG自動識別爲一次驗證多個分離簽名。
0
在python-gnupg中,encrypt_file實際上接受收件人的列表(文檔將其稱爲數組)。這應該工作:
import gnupg
gpg_home = "~/.gnupg"
gpg = gnupg.GPG(gnupghome=gpg_home)
data = raw_input("Enter full path of file to encrypt: ")
rkeys = raw_input("Enter key IDs separated by spaces: ")
savefile = data+".asc"
afile = open(data, "rb")
gpg.encrypt_file(afile, rkeys.split(), always_trust=True, output=savefile)
afile.close()
這是相當粗糙的,因爲它會密文寫的同一目錄中明文,但它會奏效。請注意rkeys.split()選項,這就是將由空格分隔的鍵ID或UID字符串轉換爲Python列表的方式。
相關問題
- 1. 加密多個文件中bash腳本
- 2. GPG使用PowerShell腳本中的多個公鑰加密文件
- 3. 在Python中使用RSA加密文件
- 4. 使用AES加密來加密文件
- 5. 使用解密密鑰加密文件
- 6. 一個文本使用多個密鑰加密。它安全嗎?
- 7. 在PHP中使用密鑰加密和解密使用密鑰的PHP文件
- 8. 在iOS中使用commoncrypto解密mp3文件(mp3文件使用openssl加密)
- 9. 加入密鑰多個文件
- 10. Android - 基於listFiles加密多個文件?
- 11. 密碼 - 加載多個csv文件
- 12. 加密文件使用AES
- 13. 使用Conceal加密文件
- 14. 使用M2Crypto加密文件
- 15. 使用NSFileManager加密文件
- 16. 使用Perl加密文件
- 17. Android中的多個文件的加密和解密
- 18. 如何使用python加密多個文件
- 19. 使用Rijndael加密/解密文件
- 20. 使用python加密/解密文件
- 21. 使用Java加密/解密文件
- 22. 使用多個文本框jquery附加鍵盤事件
- 23. 多個密碼加密/保護單個文件
- 24. 在JAVA中使用Bouncy Castle PGP加密/解密文件
- 25. 在C#中使用RSACryptoServiceProvider來加密/解密excel文件?
- 26. 使用Carrierwave加密/解密文件並在S3中存儲(Rails)
- 27. 在Java文件中使用基於密碼的加密
- 28. 如何使用aes在java中加密/解密文件?
- 29. 如何在node.js中使用加密解密文件夾
- 30. 在C++中使用IO文件進行加密和解密
你究竟想從gpg回來?你是否想要一個可以被任何密鑰解密的單個輸出文檔,或者你想要幾個單獨的輸出,每個輸出都被加密到每個密鑰上(或者,假設需要解密所有密鑰的單個文檔)? – Blckknght