Ich habe ein Continuous Integration Build-System, das ein RPM über ein Shell-Skript generiert, das von Cron ausgelöst wird. Ich möchte das RPM mit gpg unterschreiben, aber gpg besteht darauf, dass der Benutzer die Passphrase manuell an der Konsole eingibt, was eindeutig kein Start ist, da es keine Benutzerkonsole für cron gibt.Verwenden von gpg zum Signieren eines RPM als Teil eines Continuous Build - Wie vermeide ich die Eingabeaufforderung für die Passphrase?
Ich habe gelesen über GPG-Agent, die Sie die Passphrase einmal für die aktuelle Login-Sitzung eingeben können, aber wieder cron hat keine Login-Sitzung. Ich möchte gpg-agent so konfigurieren können, dass es die Passphrase beim Booten einmal akzeptiert und bei Bedarf an die Cron-Sitzung weitergibt. Ich habe keine Ahnung, ob das möglich ist oder nicht, und die Dokumente für gpg-agent sind ziemlich minimal.
Die Alternative wäre, zu erwarten, geben Sie die Passphrase ein, wenn GPG danach fragt, aber dies ist eindeutig ein großes Sicherheitsloch, da die Passphrase in das Build-Skript aufgenommen werden muss.
Danke, das ist genau das, was ich suche. Aber wie fragen Sie die Berechtigungen für einen Socket ab oder legen Sie sie fest? –
Sie setzen die Berechtigung wie gewohnt (siehe Pfad in GPG_AGENT_INFO). Wenn die Umgebungsvariable gesetzt ist, sollte gpg sie verwenden, ohne dass weitere Aktionen auf Ihrer Seite ausgeführt werden. Beachten Sie, dass ich diesen Fall nicht ausprobiert habe, also schauen wir mal, ob es funktioniert;) – smola