2017-12-08 3 views
0

Ich habe eine PGP-Datei namens 'filename.txt.pgp', die ich entschlüsseln muss. Wenn ich die Entschlüsselung von der Kommandozeile aus starte, frage ich nur nach dem Passwort. Ich benutze gpg Befehl:PGP-verschlüsselte Datei mit Passphrase nur in Java entschlüsseln

gpg filename.txt.pgp 

Das Passwort ist genug und meine Datei ist entschlüsselt. Ich kann den Inhalt lesen.

Jetzt sollte ich ein Dienstprogramm in Java erstellen. Nach Recherchen sehe ich, dass die Bouncy Castle Bibliothek meine beste Wahl ist. Aber alle Beispiele in Java kann ich verwenden, öffentliche/private Schlüsseldatei, die ich nicht habe.

Könnten Sie mir bitte mit einem Beispiel in Java helfen, das PGP-Datei mit nur einem Passwort entschlüsselt?

Vielen Dank.

+0

PGP verwendet ein Konzept eines Schlüsselrings, das Ihre öffentlichen/privaten Schlüssel enthält. Sie verwenden das Passwort, um auf den Schlüsselbund (über Bouncy Castle APIs) zuzugreifen und die relevanten Schlüssel (über Bouncy Castle APIs) abzurufen und schließlich die Datei zu dekodieren und zu entschlüsseln (über Bouncy Castle APIs). Google kann Sie zu vielen Beispielen führen, beispielsweise https://stackoverflow.com/questions/6987699/pgp-encryption-and-decryption-using-bouncycastle-c-sharp. – Rob

+0

Ich erhalte die Datei von FTP und ich kenne nur das Passwort. Ich habe keinen Schlüsselring. Also, ich habe keine öffentlichen/privaten Schlüssel. Kann das Passwort mein öffentlicher Schlüssel sein? – Igor

+0

Wenn Sie eine PGP-Datei entschlüsseln, bedeutet dies, dass Sie der anderen Partei Ihren öffentlichen Schlüssel gegeben haben und dass sich Ihr privater Schlüssel in Ihrem Schlüsselbund befindet (weshalb das Befehlszeilentool nur mit dem Kennwort funktioniert). Suchen Sie in Ihrem Home-Verzeichnis nach einem Verzeichnis namens ".gnupg" - das ist der Standard-Ort, an dem gpg Schlüsselringe speichert. – Rob

Antwort

1

Wenn man sich den Dokumentationsbereich von Bouncy Castle ansieht, sagt man zu "... schau dir die Testprogramme in den Paketen an ..." und sie machen keine Witze.

Wenn Sie in der JAR-Datei von Bouncy Castle schauen Sie unter dem \org.bouncycastle\openpgp\examples\ Verzeichnis sehen eine Klassendatei "PBEFileProcessor" genannt, die kennwortbasierte Verschlüsselung abdecken wird, wenn ihre Bibliothek.

Hier ist ein link zu der gleichen Datei in ihrem Github Repo.

Verwandte Themen