gpg --output C:\ecshome\mboxes\store\20150410_030846_1_0001_6pik.msg.
asc --passphrase abcd. --no-default-keyring --decrypt C:\ecshome\mboxes\store\20150410_030846_1_0001_6pik.msg
当我尝试使用命令提示符下的gpg解密电子邮件时,它可以正常工作。但是当我尝试使用外部命令使用Perl脚本对其进行解密时,它会显示"密钥不可用"错误(在Windows上)。
答案 0 :(得分:1)
您还没有向我们展示您在perl中引用该命令的方式,但请允许我猜测您还没有考虑到反斜杠既是Windows目录分隔符又是Perl字符串转义的事实。你应该知道"\e"
,你输出的第三个字符& --decrypt paths,是字符(ESC)。序列"\m"
和"\s"
分别插入'm'
和's'
。
可能的解决方案包括使用q()
/单引号分隔字符串,或者将qq()
/ qx()
/双引号/后引号中的反斜杠加倍。
答案 1 :(得分:0)
问题出在了pubkey ring。显然,如果您在安装时没有特别提及任何主目录,那么它将在每个用户的应用程序数据目录下存储。如果你从命令提示符执行它将直接从当前用户的应用程序数据,但从perl它不会检查那里。我必须专门配置GNUPGHOME到该文件夹(应用程序数据)然后运行perl脚本。