Moro,
Wanha koodari, mutta php:n kanssa noviisi ja olen kohdannut ongelman. Pitäisi ottaa vastaan GPG (OpenPGP) -salattu viesti, purkaa se ja laitaa selväkielinen sisältö kantaan. Käytössä on (LAMP?) ympäristö, jossa PHP 5.4 ja PEAR-lisukkeena Crypt_GPG -moduli.
Yritän:
$gpg = new Crypt_GPG(array('debug' => true)); $gpg->importKeyFile("purku.avain"); $filename = "gpgblokki.txt"; $gpg->addDecryptKey("tunnus@domain.fi"); $gpg->decryptFile($filename,"selko.txt");
ja tästä seuraa
Fatal error: Uncaught Crypt_GPG_BadPassphraseException : No passphrase provided for keys: "". in /php/Crypt/GPG.php 1720 jne...
Saadussa viestissä ei ole minkään sortin passphrasea määritelty, joten virhe kummastuttaa. Skripti muodostaa kyllä selko.txt:n, mutta se on tyhjä. Tuo "purku.avain" on ascii-tiedosto, joka sisältää yksityisen avaimen, eikä muuta.
Osaisiko kukaan putkalainen opastaa eteenpäin asiassa?
Mielestäni virheilmoituksessa sanotaan, että et ole antanut avaimen salasanaa. Useinhan avaimetkin on salattu salasanalla, jotta olisi vielä hieman lisäturvaa siinäkin tilanteessa, että joku varastaa avaintiedoston. Avaimen salasana annetaan addDecryptKey-metodin toisena parametrina.
Aihe on jo aika vanha, joten et voi enää vastata siihen.