用gpg解密

时间:2015-04-10 12:20:04

标签: perl encryption gnupg

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上)。

2 个答案:

答案 0 :(得分:1)

您还没有向我们展示您在perl中引用该命令的方式,但请允许我猜测您还没有考虑到反斜杠既是Windows目录分隔符又是Perl字符串转义的事实。你应该知道"\e",你输出的第三个字符& --decrypt paths,是字符(ESC)。序列"\m""\s"分别插入'm''s'

可能的解决方案包括使用q() /单引号分隔字符串,或者将qq() / qx() /双引号/后引号中的反斜杠加倍。

答案 1 :(得分:0)

问题出在了pubkey ring。显然,如果您在安装时没有特别提及任何主目录,那么它将在每个用户的应用程序数据目录下存储。如果你从命令提示符执行它将直接从当前用户的应用程序数据,但从perl它不会检查那里。我必须专门配置GNUPGHOME到该文件夹​​(应用程序数据)然后运行perl脚本。