Vorgabe eines config Ordners bei stiller Installation mit INI Datei

Hallo @all,

ich versuche gerade Gpg4win 3.1.1 über unser Verteilungstool bereit zu stellen. Ich möchte die Konfigurationsdateien bei der Installation zentral in den Ordner C:\ProgramData\Gpg4win\config legen.
Hierzu habe ich eine INI Datei angelegt und die Config Pfade auf %ALLUSERPROFILE%\GPG4Win\config"etc" gelegt.
Diese Einstellungen werden jedoch nicht angewendet.
Kann es sein das keine Platzhalter in der INI funktionieren oder gibt es ein anderes Problem?
Vielen DAnk schonmal vorab für eine Antwort

MfG Markus

Nachtrag.
Auch eine feste Eingabe des Pfades “C:\ProgramData.…” in die INI Datei brachte keinen Erfolg. Es liegt also nicht an den Platzhaltern.
Die INI Datei wird bei der Installation berücksichtigt. Ich kann die zu installierenden Module vorgeben.
Wie kann ich den Ablageort der Configs bestimmen?

Hallo,

Die Dokumentation ist an der Stelle leider veraltet. Ich habe das soeben in unserem repository korrigiert, die Config Pfade aus dem Kompendium Beispiel werden in der Tat nicht angewendet.

Was möchtest du denn bewirken? Ich glaube fürher (vor meiner Zeit) waren die Pfade mal dazu da um eine Standardkonfiguration zu hinterlegen die bei der ersten Verwendung einmalig angewendet wird. Willst du das?

Oder möchtest du den Ablageort für Konfigurationsdateien die zur Laufzeit ausgelesen werden (und nicht nur einmalig) sowie für Schlüssel etc. ändern? Dann muss das “GnuPG Home Directory” verlegt werden.

Das geht über Umgebungsvariablen (GNUPGHOME=) oder über einen Registry Schlüssel:

Entweder unter HKEY_LOCAL_MACHINE (für systemweit) oder HKEY_CURRENT_USER (für nur einen Nutzer)

Einen Wert vom typ REG_SZ oder REG_EXPAND_SZ:
Software\GNU\GnuPG:HomeDir

anlegen.

Hallo Andre, und vielen Dank für die schnelle Antwort.
Ich möchte die Konfigurationen an einen zentralen Ort legen damit sie zur Laufzeit ausgelesen werden können und ich die möglichkeit habe die Konfigurationen einfach zu pflegen.
Die generierten Schlüssel sollten jedoch weiterhin unter dem USer Profil liegen um keine Sicherheitslücke zu schaffen.
Was liegt denn am Ende alles in dem Home Verzeichins von GnuPG drin?

Im Home verzeichnis liegen sämtliche Konfigurationsdateien, die trustlist.txt, die privaten Schlüssel (Im Unterordner private-keys-v1.d) und die Öffentlichen Schlüssel. Sowie die “Socket” Dateien über welche die einzelnen Komponenten kommunizieren.
Kurzum, alles.

Das lässt sich leider auch nicht vernünftig trennen. Es ist leider bisher nur auf unserer TODO die systemweite Konfigurierbarkeit zu verbessern. Welche S/MIME Wurzelzertifikate vertrauenswürdig sind kann bereits jetzt systemweit geändert werden.

Wenn du wirklich meinst das du die GnuPG Konfiguration so häufig ändern wirst das ein einmaliges setzen der Standardwerte nicht ausreicht würde ich den “profile” mechanismus empfehlen.

Dazu kannst du eine Datei erstellen welche Einstellungen für die einzelnen Komponenten enthält und diese dann mittels des Befehls: “gpgconf --apply-profile ” Anwenden. z.B. in einem Login Script für deine Nutzer.

Zwei Beispiele für solche Profile Dateien findest du unter:

C:\Programme\GnuPG\share\doc\gnupg\examples

Aus Neugierde: Was möchtest du denn umkonfigurieren?

Danke. Das werde ich mir anschauen.

Im Moment geht es darum automatisch einen internen SKS Keyserver anzugeben, den ich im Intranet aufgesetzt habe.
Zusätzlich möchte ich mir noch Möglichkeiten für die Zukunft offen halten.
Die Software soll hier nicht wie zunächst angenommen bei nur drei oder vier Rechnern installiert werden, die ich noch einfach von Hand konfiguriert hätte sondern gleich auf deren knapp 20. Um nun den Austausch des öffentlichen Schlüssels zu vereinfachen die Idee mit dem Keyserver.

P.S.
Kann ich eine Gültigkeit für die Schlüsselgenerierung in der Config vorgeben oder muss ich jedes mal beim Erstellen des Schlüsselpaares angeben wie Lange er gilt?

Puh, ist ein Interner Keyserver wirklich eine gute idee? Damit beschneidest du doch die Kommunikationsmöglichkeiten mit externen / fremden. Ich finde eigentlich das es nicht wirklich schadet die öffentlichen Keyserver zu verwenden.

Mein Tipp wäre es vielleicht ein Web Key Directory für eure Domain aufzusetzen, das ist nicht wirklich komplizierter als einen SKS Server aufzusetzen und hätte den Vorteil das es sowohl intern als auch Extern funktionieren würde, ohne das dabei eure Mailaddressen automatisch indizierbar wären.

Siehe: WKDHosting - GnuPG wiki

Kleopatra und GpgOL können darauf automatisch zugreifen, man muss z.B. nur die Mail Addresse des Empfängers zum verschlüsseln angeben und falls kein schlüssel vorhanden ist schaut Kleopatra im WKD Nach.

Oder auf der Kommandozeile “gpg --locate-key foo@bar.baz”

Das man explizit im WKD auch explizit mit Kleopatra suchen kann kommt mit Gpg4win 3.2.0.

Ansonsten kannst du den keyserver in eine Datei names c:\ProgramData\GNU\etc\gnupg\gpgconf.conf schreiben im Format:

Und zwar: (mit dem stern)
* gpg keyserver hkp://foo.bar.baz

Das wäre dann der default für neue Nutzer die GnuPG das erste mal verwenden.

Kann ich eine Gültigkeit für die Schlüsselgenerierung in der Config vorgeben oder muss ich jedes mal beim Erstellen des Schlüsselpaares angeben wie Lange er gilt?

Das muss jedesmal angegeben werden. Der übliche Weg in Organisationen ist, dass man als Administrator ein “Revocation Zertifikat” (welches automatisch erstellt wird) zu den Schlüsseln der Mitarbeiter erhält, so das falls jemand die Organisation verlässt man einen Schlüssel zurückrufen kann.