Используйте --passphrase-fd 0
, чтобы получить GPG, чтобы получить фразу-пароль от stdin, а затем передать ее с помощью канала.
echo 123456| gpg --passphrase-fd 0 -e -u user1@example.com -r user2@example.com C:\file.csc
или
gpg --passphrase-fd 0 -e -u user1@example.com -r user2@example.com --passphrase-fd 2 file.csc < password.file
Убедитесь, что вы как-то не пропускаете лишние пробелы в stdin, поскольку GPG плохо с этим справляется.
Я не уверен, как вы можете передать что-то на stdin в .NET, поэтому вам придется восполнить этот пробел.