Příkazový řádek GPG dešifrování pomocí C # - přístupové heslo?

hlasů
2

Jsem pomocí příkazového řádku pro šifrování souborů, které posílám ven, ale snažím se přijít na to, jak použít stejnou metodu pro jejich dešifrování. Mám-li spustit příkaz, že si budete vyzváni k zadání přístupového hesla, ale nevidím způsob, jak předat v přístupové heslo pomocí příkazového řádku. Zde je, jak jsem šifrování souboru:

var proc = new Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.WorkingDirectory = C:\\;
proc.StartInfo.FileName = @C:\Progra~1\GNU\GnuPG\gpg.exe;
proc.StartInfo.Arguments = @-e -u user1@example.com -r user2@example.com C:\file.csc;
proc.Start();
proc.WaitForExit();

** Zde je užitečný odkaz, který byl použit pro mé řešení: http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/38c21304-fc7a-42cc-a5fb-dcb6da7f6411/

Položena 01/11/2010 v 15:47
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
2

Vlastnost Process.StandardInput by vám StreamWriter, který můžete použít k zadání tohoto hesla na standardní vstup.

Odpovězeno 01/11/2010 v 15:52
zdroj uživatelem

hlasů
0

Použít --passphrase-fd 0se dostat GPG vzít přístupové heslo ze standardního vstupu a pak předat jej pomocí trubky.

echo 123456| gpg --passphrase-fd 0 -e -u user1@example.com -r user2@example.com C:\file.csc

nebo

gpg --passphrase-fd 0 -e -u user1@example.com -r user2@example.com --passphrase-fd 2 file.csc < password.file

Ujistěte se, že neprojdou žádné nadbytečné mezery na stdin nějak jako GPG nezpracovává ti dobře.

Nejsem si jistý, jak můžete předat něco na stdin na .NET, takže budete muset zaplnit mezeru tam.

Odpovězeno 01/11/2010 v 15:57
zdroj uživatelem

hlasů
0

GPG v systému Linux má --passphrase-fd N , kde N je int. Pokud N == 0, bude přístupové heslo číst ze standardního vstupu.

Není si jistý, jestli to samé platí o systému Windows, ale může být stojí mimo kontrolu.

Odpovězeno 01/11/2010 v 15:55
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more