Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung |
de:shibidp:config-zertifikate [2020/04/08 12:28] – Silke Meyer | de:shibidp:config-zertifikate [2024/06/25 15:31] (aktuell) – [Lesezugriff des Tomcat-Users] Doreen Liebenau |
---|
| <- de:shibidp:config-attributes-minimal|Minimalkonfiguration der Attribute ^ de:shibidp:uebersicht|Überblick: Tutorial zur IdP-Inbetriebnahme ^ de:shibidp:config-i18n|Internationalisierung -> |
====== Zertifikate für die SAML-basierte Kommunikation ====== | ====== Zertifikate für die SAML-basierte Kommunikation ====== |
| |
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. | Sofern Sie erfolgreich Attribute übertragen konnten, sollten Sie als nächstes die bei der Installation generierten Zertifikate ersetzen. Sie können für die SAML-Kommunikation entweder selbstsignierte Zertifikate oder solche der DFN-Verein Community PKI verwenden. Details dazu finden Sie unter [[de:certificates|Zertifikate]]. |
| |
Es gibt ein paar Kleinigkeiten zu beachten: | Es gibt ein paar Kleinigkeiten zu beachten: |
* Der private Schlüssel //darf nicht// mit einer Passphrase verschlüsselt sein. | * Der private Schlüssel //darf nicht// mit einer Passphrase verschlüsselt sein. |
| |
===== Eintragen der DFN-PKI-Zertifikate im IdP ===== | ===== Eintragen der Zertifikate im IdP ===== |
| |
Unter Debian/Ubuntu liegen diese Dateien typischerweise unter ''/etc/ssl''. Tragen Sie sie in ''./conf/idp.properties'' ein. | Unter Debian/Ubuntu liegen diese Dateien typischerweise unter ''/etc/ssl''. Tragen Sie sie in ''./conf/idp.properties'' ein. |
<file ini /opt/shibboleth-idp/conf/idp.properties> | <file ini /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.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.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.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.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 | |
# ... | # ... |
</file> | </file> |
Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): | Starten Sie Tomcat neu um die neuen Einstellungen zu aktivieren (dabei Logdateien mitverfolgen!): |
<code bash> | <code bash> |
root@idp:/opt/shibboleth-idp# systemctl restart tomcat9 | root@idp:/opt/shibboleth-idp# systemctl restart tomcat10 |
</code> | </code> |
| |
===== Eintragen des neuen Zertifikats in der Metadatenverwaltung ===== | ===== Eintragen des neuen Zertifikats in der Metadatenverwaltung ===== |
| |
Das DFN-PKI-Zertifikat muss schließlich noch in die veröffentlichten Metadaten des IdP eingetragen werden. In den IdP-Metadaten stehen jetzt noch die bei der Installation generierten selbst-signierten Zertifikate. | Das Zertifikat für die SAML-Kommunikation muss nun noch in die veröffentlichten Metadaten des IdP eingetragen werden. Dort steht jetzt noch das bei der Installation generierte selbst-signierte Zertifikat. |
* Löschen in den IdP-Metadaten zunächst alle eingetragenen Zertifikatsinstanzen. | * Gehen Sie in die [[https://mdv.aai.dfn.de/|Metadatenverwaltung]]. Löschen in den IdP-Metadaten zunächst alle eingetragenen Zertifikatsinstanzen. |
* Tragen Sie 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. So wird dasselbe Zertifikat für Signierung //und// Verschlüsselung verwendet. | * Tragen Sie das neue Zertifikat 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. So wird dasselbe Zertifikat für Signierung //und// Verschlüsselung verwendet. |
* Warten Sie dann **90 Minuten**, bis die neuen Zertifikate in die DFN-AAI-Test-Metadaten aufgenommen worden sind. | * Warten Sie dann **90 Minuten**, bis die neuen Zertifikate in die DFN-AAI-Test-Metadaten aufgenommen worden sind. |
| |
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. Das ist kein Problem, denn die Datei ist für den Betrieb des IdP nicht erforderlich. Sie ist als Hilfsmittel zur initialen Registrierung des IdP in einer Föderation gedacht. Wir empfehlen diese Datei "in Ruhe" zu lassen. | 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. Das ist kein Problem, denn die Datei ist für den Betrieb des IdP nicht erforderlich. Sie ist als Hilfsmittel zur initialen Registrierung des IdP in einer Föderation gedacht. Wir empfehlen diese Datei "in Ruhe" zu lassen. |
| |
** Weiter geht's mit der [[de:shibidp3i18n|Internationalisierung]] der IdP-Webseiten. ** | {{tag>idp4 tutorial included-in-ansible}} |