我支持调用CMD行来解密文件的应用程序。 该应用程序是一个.exe文件,由Windows任务计划程序调用,并作为相同的用户执行。
应用程序每天晚上6点30分运行,有时CMD行返回消息:没有密钥。 应用程序失败,因为文件未解密。但它并不是每天晚上都会失败,只是随机的晚上。它看起来完全随机。
如果我在同一个用户失败后自己运行该应用程序,它就可以了。
密钥是在Kleopatra中导入的,它适用于早上运行的其他应用程序。当我使用它时,它工作正常。
导致这种情况的原因是什么?
谢谢
答案 0 :(得分:1)
我们解决了这个问题。我们不能注销应用程序用户。 如果我们注销用户,则一个密钥不起作用,但其他密钥正在工作。
答案 1 :(得分:0)
帮助您解决问题的一些想法:
检查应用程序失败的计算机可用的私钥
gpg --list-secret-keys
(IIRC Kleopatra运行在GnuPG之上,所以我认为你的应用程序也是如此。我以前错了。)你可能会注意到私有(解密)密钥不合适的地方。例如,如果密钥列为
sec#
ssb>
然后它是位于智能卡上的(主要或次要)密钥以进行存储。如果无论出于何种原因,该卡在应用程序运行时都不在机器中,它将无法解密。
检查在应用程序运行时附加/插入/装入了包含私钥环的磁盘,但无法解密。如果密钥存储在可移动(或不可靠)的介质上,那么这也可能导致解密失败。
检查无法解密的项目是否已正确加密。如果应用程序运行需要一些辅助收件人,则可能是您不知道的必需密钥(我从您的帖子中收集到您没有创建此应用程序,只需维护它。)即使应用程序试图错误地解密另一个文件,但只有通过单步执行源代码和常驻文件才能找到这种情况。
失败者,请@Jens Erat注意你的问题。