Предположим, что в GPG cmd всегда доверие - да / верно - PullRequest
4 голосов
/ 29 августа 2011

Я использую 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"

Вопрос, который предлагается:

НЕ уверен, что ключ принадлежит лицу, указанному в Идентификатор пользователя. Если вы действительно знаете, что делаете, вы можете ответить на следующий вопрос с да

Использовать этот ключ в любом случае?

Как я могу полностью игнорировать вопрос или заставить ответ быть правдивым («ДА») без запроса подтверждения?

Спасибо.

Ответы [ 4 ]

3 голосов
/ 15 августа 2012

добавьте --always-trust в качестве аргумента командной строки в gpg, чтобы убрать приглашение.

0 голосов
/ 29 августа 2011

Вы можете использовать SendKeys.SendWait

http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.sendwait.aspx

0 голосов
/ 12 сентября 2011

Вам нужно только указать модель доверия «всегда» с помощью параметра «--trust-model».

Например:

gpg --trust-model always --armor --output fileOutput.gpg --recipient secure@site.com --encrypt fileInput.xml
0 голосов
/ 29 августа 2011

Передайте "y" вашей команде:

echo "y" | <your command>
...