[英]Check encrypted file for empty content
我正在使用gpg解密供應商發送給我的文件。 當加密文件的內容為空時(供應商告訴我有關文件中沒有內容),一切正常。
如果我嘗試解密這些文件之一,則會得到:
gpg:無法處理此含糊不清的簽名數據
有什么方法可以檢查文件頭是否包含任何內容,以便我可以將其設置為更優雅地失敗?
根據此郵件列表帖子 ,官方的PGP工具存在一個錯誤,有時會導致它生成格式錯誤的消息。 您可以通過運行gpg --list-packets path/to/encrypted/file.pgp
並查看輸出來驗證您的特定文件是否屬於這種情況。 如果您看到:onepass_sig packet:
緊隨其后的是:signature packet:
那么可能就是這種情況。
以我的經驗(有限的),如果發件人試圖加密一個空文件,則會發生這種情況。 不幸的是,由於加密的目的是使您很難看清內部內容,因此在嘗試解密之前很難說出是否確實如此。 gpg的--list-packets
輸出將為您提供一些信息,但是我注意到:literal data packet:
輸出通常會顯示“原始數據:0字節”,即使消息包含非空文件也是如此。
您可以使用--skip-verify
選項使gpg忽略加密文件中的所有簽名數據,但是,當然,您無法確定要解密的文件是否來自受信任的來源。
假設您正在使用unix shell腳本,則可以先嘗試執行[[-s / the / file]“,然后再嘗試進行GPG解密。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.