Dies ist eine alte Version des Dokuments!


Zertifikate

Sofern Sie erfolgreich Attribute übertragen konnten, sollten Sie als nächstes auf DFN-PKI-Zertifikate wechseln. Die bei der Installation erzeugten Private Keys und zugehörigen selbst-signierten Zertifikate müssen für den späteren Produktionsbetrieb gegen DFN-PKI-Zertifikate ausgetauscht werden. Wir empfehlen die Verwendung der selben Key- und Zertifikats-Files, die bereits für den Webserver verwendet werden, damit das Key-Handling nicht zu unübersichtlich wird.

Es gibt ein paar Kleinigkeiten zu beachten:

  • Das Format der Zert-Datei muss PEM sein, DER funktioniert nicht.
  • Die PEM-Dateien dürfen keine Kommentare enthalten, sie müssen in der ersten Zeile mit „—–BEGIN“ anfangen.
  • In den PEM-Dateien dürfen am Ende der Zeilen keine Leerzeichen oder andere unsichtbare Zeichen sein.
  • Der private Schlüssel darf nicht mit einer Passphrase verschlüsselt sein.

Unter Debian/Ubuntu liegen diese Dateien typischerweise unter /etc/ssl. Tragen Sie sie in ./conf/idp.properties ein.

/opt/shibboleth-idp/conf/idp.properties
# ...
# Settings for public/private signing and encryption key(s)
# During decryption key rollover, point the ".2" properties at a second
# keypair, uncomment in credentials.xml, then publish it in your metadata.
idp.signing.key= /etc/ssl/private/idp-dev.uni-beispiel.de.key.pem
idp.signing.cert= /etc/ssl/localcerts/idp-dev.uni-beispiel.de.crt.pem
idp.encryption.key= /etc/ssl/private/idp-dev.uni-beispiel.de.key.pem
idp.encryption.cert= /etc/ssl/localcerts/idp-dev.uni-beispiel.de.crt.pem
#idp.encryption.key.2 = /etc/ssl/private/idp-dev.uni-beispiel.de.key.pem.old
#idp.encryption.cert.2 = /etc/ssl/localcerts/idp-dev.uni-beispiel.de.crt.pem.old
# ...

Der IdP läuft im Tomcat und damit mit den Berechtigungen des Tomcat-Users. Damit er Zugriff auf die Dateien unterhalb von /etc/ssl/private bekommt, muss er (unter Debian und Ubuntu) in die Gruppe 'ssl-cert' aufgenommen werden:

root@idp:~# usermod -aG ssl-cert $( getent passwd | grep ^tomcat | cut -d ":" -f1 )

Das Verzeichnis /etc/ssl/private und sein Inhalt sollten dem User root und der Gruppe ssl-cert gehören:

root@idp:~# chown -R root:ssl-cert /etc/ssl/private

Der private Schlüssel sollte für root les- und schreibbar sein, für die Gruppe ssl-cert nur lesbar, andere haben dort keine Rechte:

root@idp:~# chmod 0640 /etc/ssl/private/idp-dev.uni-beispiel.de.key.pem

So sehen die Dateirechte auf dem privaten Schlüssel dann aus:

root@idp:~# ls -la /etc/ssl/private/idp-dev.uni-beispiel.de.key.pem 
-rw-r----- 1 root ssl-cert 3272 May 31 12:56 /etc/ssl/private/idp-dev.uni-beispiel.de.key.pem

Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!):

root@idp:/opt/shibboleth-idp# systemctl restart tomcat9

Wichtig:

  • Denken Sie daran, das neue Zertifikat in der DFN-AAI-Metadatenverwaltung einzutragen. Dort sind zunächst die bei der Installation generierten selbst-signierten Zertifikate eingetragen worden. Am besten löschen Sie dort alle (sechs!) Zertifikatsinstanzen und tragen danach das neue Zertifikat nur noch zweimal ein: einmal im Abschnitt „IdP Single Sign On Descriptor“ und einmal im Abschnitt „Attribute Authority Descriptor“. In beiden Fällen lassen Sie dabei das Feld „Verwendungszweck“ leer. Dieses wird nur für Spezialfälle gebraucht.
  • Warten Sie dann zwei Stunden bis die neuen Zertifkate in die DFN-AAI-Test-Metadaten aufgenommen worden sind und testen Sie nochmal die Attribut-Freigaben mithilfe der DFN-Test-SPs!
  • Die Datei./metadata/idp-metadata.xml enthält nach wie vor die selbst-signierten Zertifikate, die bei der Installation automatisch generiert wurden. Diese Datei wird nicht automatisch aktualisiert. Allerdings ist das kein Problem, als sie für den Betrieb des IdP nicht erforderlich ist, sondern lediglich als Hilfsmittel zur initialen Registrierung des IdP in einer Föderation gedacht ist. Wir empfehlen diese Datei „in Ruhe“ zu lassen.

Weiter geht's mit der Internationalisierung der IdP-Webseiten.

  • Zuletzt geändert: vor 5 Jahren