Daher ist es nicht die sicherste Methode, ein Kennwort über ein Befehlszeilenargument zu übergeben. Trotzdem hat mich die Dokumentation zu openssl verwirrt, wie man ein Passwortargument an den openssl-Befehl übergibt.
Folgendes versuche ich zu tun
openssl aes-256-cbc -in some_file.enc -out some_file.unenc -d
Dies fordert dann zur Entschlüsselung des Pass-Schlüssels auf. Ich durchsuchte die openssl-Dokumente und die Interwebs, um die Antwort zu finden, wenn ich dem Befehl einfach das Kennwort geben wollte, ohne zu versuchen, das Kennwort für die Datei zu wiederholen. Ich habe versucht, -pass:somepassword
und -pass somepassword
beide mit und ohne Anführungszeichen ohne Erfolg hinzuzufügen .
Ich fand endlich die Antwort heraus und sah in einigen anderen Foren, dass die Leute ähnliche Fragen hatten, also dachte ich, ich würde meine Frage und Antwort hier für die Community posten.
hinweis: ich benutze openssl version 0.9.8y
quelle
openssl
Befehle (nicht nurenc
) gelten, in der Manpage für openssl (1) befindet, ebenfalls im Internet unter 'OPTIONEN'. Aber ich glaube nicht, dass dein letztes bisschen von -passin / out ist; andereopenssl
Befehle wiersa dsa ec pkey pkcs8 pkcs12 req ca
diejenigen , verwenden aber in jeder Version Ich habe einschließlich 1.0.1e direkt von Upstream - Quelle gebaut gesehenenc
Verwendungen-pass
oder-k -kfile
als dokumentiert (auf derenc
Man - Page).openssl dgst
Befehl? Wie geben Sie die Passphrase dafür in der Befehlszeile ein?-passin
wird verwendet, um ein Kennwort für das eingegebene Zertifikat bereitzustellen, und-passout
wird für das neu generierte Zertifikat verwendetIch habe
-passin
und verwendet-passout
, um Passwörter für beide Dateien festzulegen:wo
123
und321
sind Passwortquelle
In diesem Moment wird Ubuntu 14.04 LTS mit openssl 1.0.1f-1ubuntu2.16 ausgeliefert
In dieser Version ist der zu verwendende Parameter
-k
Beispiel:
quelle
man enc
). Dies ist keine allgemeine Option. Wenn Sie sich das ansehen, werdenman openssl
Sie unter der Überschrift "Passphrasenoptionen" sehen, welche allgemeinen Optionen es gibt.pass:password
,env:var
,file:pathname
,fd:number
Oderstdin
, wie in einer früheren Antwort erwähnt.