GnuPG + Webservice + ASP.NET

hlasů
0

Jsem vyčerpaný. Nainstaloval jsem GnuPG a vyvážené tajný klíč a dvě veřejné klíče (můj vlastní a jeden z mého klienta) z jiné instance GnuPG. Snažím se konfigurovat ‚můj šifrovací / dešifrování‘ metodu na lokálním počítači.

Když spustím šifrování metodu z malé konzoly aplikace funguje dobře. Když jsem spustit tento (stejně! - u stejného subjektu) metodu z mé webové služby na mém lokálním počítači ... Mám EXITCODE = 2.

Šťastný ve skutečnosti chytání chybovou zprávu, ale nespokojeni se svým tělem.

„Gpg: žádná výchozí tajný klíč: tajný klíč není k dispozici gpg: XXXXXXXXXXXXXXXX.xml: cedule + šifrování se nezdařila: tajný klíč není k dispozici“

Co bych měl dělat? Co je špatně?

S pozdravem, Karol Bladek

Položena 20/04/2010 v 15:19
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Soubory ke klíčence jsou vytvářeny na základě za uživatele. Při spuštění aplikace konzoly, bude to vypadat na klíčence souborů PGP v adresáři, zatímco při spuštění v webové služby, bude to vypadat v adresáři uživatelské identity používá webové služby.

Pokračuj otevírají cmd změna GPG instalačního adresáře a zadejte gpg -h. Někde poblíž vrcholu to vám ukáže cestu, kde jsou umístěny soubory, klíčenku na váš přihlášeného uživatele.

Co můžete udělat, opravit to je zkopírovat soubory klíčence, kde to očekávat, že najít pro uživatele webové služby. Nejste si jisti, jestli je nějaká možnost příkazového řádku pro gpg vybrat jiné umístění klíčenku souboru.

Odpovězeno 20/04/2010 v 16:23
zdroj uživatelem

hlasů
0
static bool EncryptPGP(string inFile, string outFile)
    {
        try
        {
            RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\GNU\GnuPG"); //LocalMachine
            if (key != null)
            {
                string path = key.GetValue("Install Directory").ToString();
                string pgpPath = string.Format("{0}\\gpg.exe", path);//@"C:\tools\GNU\GnuPG\gpg.exe";
                string password = "No no no no no";
                string keyName = "hihi";
                string args = string.Format(@"--batch --yes --passphrase {0} --recipient {1} --encrypt --output ""{2}"" --sign ""{3}""", password, keyName, outFile, inFile);
                Process proc = Process.Start(pgpPath, args);
                if (!proc.HasExited)
                {
                    proc.WaitForExit();
                }
                return proc.ExitCode == 0;
            }
        }
        catch (Exception exc)
        {
            Console.WriteLine(exc.Message);
        }
        return false;
    }
Odpovězeno 20/04/2010 v 15:40
zdroj uživatelem

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