我使用GPG加密ASP.NET中的文件,C#。我的代码使用ProcessStartInfo执行命令,gpg.exe执行,但我有一个问题。 GPG要求我授权始终信任“y”作为选项。我也尝试使用“是”(如GPG帮助所示,对所有问题都假设“是”),但这也不起作用。
运行GPG的字符串是:
"gpg --armor --output fileOutput.gpg --recipient secure@site.com --encrypt fileInput.xml --always-trust --yes"
提示的问题是:
不确定该密钥属于该中指定的人 用户身份。如果你真的知道你在做什么,你可以回答 接下来的问题是
无论如何使用此密钥?
如何在不提示确认的情况下完全忽略该问题,或强制答案为真(“是”)?
感谢。
答案 0 :(得分:3)
将--always-trust
作为命令行参数添加到gpg以取消提示。
答案 1 :(得分:0)
您可以使用SendKeys.SendWait
http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.sendwait.aspx
答案 2 :(得分:0)
您只需使用“--trust-model”选项“始终”指定信任模型。
例如:
gpg --trust-model always --armor --output fileOutput.gpg --recipient secure@site.com --encrypt fileInput.xml
答案 3 :(得分:-1)
在命令中输入“y”:
echo "y" | <your command>