У меня есть поиск по всей сети, но я не могу найти ответ, поэтому надеюсь найти его здесь.
У меня есть веб-приложение, работающее на Windows и IIS, написанное на Perl.
Один из сценариев выполняет несколько задач. Один из них выполняет команду для шифрования файла. Вот команда:
my $cmd = "c:\\gnupg\\pub\\gpg -ase --always-trust --batch --passphrase mypassphrase --output $filename.pgp -r stuff $filename";
qx/$cmd/;
К сожалению, это не работает.
Я получаю ошибку:
gpg: no default secret key: No secret key gpg: C:\\Dev\\somefile.csv: sign+encrypt failed: No secret key
Когда я пытаюсь запустить ту же команду на том же сервере из cmd, она работает нормально.
Насколько я понимаю, когда вы запускаете скрипт через Интернет, он запускается как анонимный пользователь. Таким образом, он не видит секретный ключ, сгенерированный как локальный пользователь. Если я запускаю команду локально через cmd, он видит секретный ключ, поскольку он запускается как локальный пользователь.
Вопрос: как мне решить эту проблему и заставить скрипт работать?
Спасибо,
-Andrey