Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
de:dfnpki:tcsfaq [2022/08/09 15:25] – [Voraussetzungen] Juergen Brauckmannde:dfnpki:tcsfaq [2023/09/05 18:23] Juergen Brauckmann
Zeile 5: Zeile 5:
 =====Was ist TCS?===== =====Was ist TCS?=====
  
-TCS (Trusted Certificate Service) ist ein PKI-Angebot, das der DFN-Verein über GÉANT bezieht. GÉANT realisiert den Dienst mit Hilfe von externen Anbietern, die über regelmäßige Ausschreibungen gefunden werden. Der aktuelle Anbieter ist Sectigo. Überblick über den Dienst bei GÉANT: [[https://www.geant.org/Services/Trust_identity_and_security/Pages/TCS.aspx]]+TCS (Trusted Certificate Service) ist ein PKI-Angebot, das der DFN-Verein über GÉANT bezieht. GÉANT realisiert den Dienst mit Hilfe von externen Anbietern, die über regelmäßige Ausschreibungen gefunden werden. Der aktuelle Anbieter ist Sectigo. Überblick über den Dienst bei GÉANT: [[https://security.geant.org/trusted-certificate-services/]]
  
 Der DFN-Verein führt das Angebot zur Zeit für alle Teilnehmer der DFN-PKI ein. TCS wird die bisherige DFN-PKI "Global" mittelfristig ablösen. Der DFN-Verein führt das Angebot zur Zeit für alle Teilnehmer der DFN-PKI ein. TCS wird die bisherige DFN-PKI "Global" mittelfristig ablösen.
Zeile 13: Zeile 13:
 Zur Zeit geht der DFN-Verein auf alle bisherigen Teilnehmer der DFN-PKI zu, um ihnen einen Zugang zu TCS zu ermöglichen. Zur Zeit geht der DFN-Verein auf alle bisherigen Teilnehmer der DFN-PKI zu, um ihnen einen Zugang zu TCS zu ermöglichen.
  
-Das initiale Setup erfolgt dann in direkter Absprache mit ''dfnpca@dfn-cert.de''.+Das initiale Setup erfolgt dann in direkter Absprache mit [[mailto:dfnpca@dfn-cert.de|dfnpca@dfn-cert.de]].
  
 ====Gibt es eine Testumgebung für TCS REST API und die Webseiten?==== ====Gibt es eine Testumgebung für TCS REST API und die Webseiten?====
Zeile 39: Zeile 39:
 Die Bewertung von GÉANT wurde von der Forschungsstelle Recht im DFN überprüft. Das Ergebnis der Prüfung ist hier verfügbar: [[https://www2.dfn.de/fileadmin/3Beratung/Recht/Stellungnahmen/20220119_Stellungnahme_Datenschutzhinweise_Sectigo.pdf]]. Die Bewertung von GÉANT wurde von der Forschungsstelle Recht im DFN überprüft. Das Ergebnis der Prüfung ist hier verfügbar: [[https://www2.dfn.de/fileadmin/3Beratung/Recht/Stellungnahmen/20220119_Stellungnahme_Datenschutzhinweise_Sectigo.pdf]].
  
 +Darüber hinaus wird häufiger die Frage gestellt, ob eine Auftragsverarbeitungsvereinbarung zur Nutzung des Dienstes vom DFN-Verein oder von Sectigo direkt angeboten wird. Dies ist mit der folgenden Begründung nicht notwendig und wird daher auch weder vom DFN-Verein noch von Sectigo angeboten:
 +
 +Im Rahmen der GÉANT TCS erfolgt die vertragliche Vereinbarung (Sectigo Certificate Subscriber Agreement) über die Bereitstellung des Sectigo Certificate direkt zwischen Sectigo und dem betroffenen Angehörigen des DFN-Teilnehmers. Ausschließlich in diesem Verhältnis werden personenbezogene Daten zur Erstellung und Verwaltung des Sectigo Certificate verarbeitet. Folglich haben weder GÉANT noch der DFN-Verein irgendeinen Zugriff oder Einfluss auf die Verarbeitung personenbezogener Daten bei Sectigo. Beiden steht zudem in Bezug auf die Verarbeitung bei Sectigo keinerlei Weisungsrecht zu. Das Rahmenvertragswerk zwischen DFN-Verein, GÉANT und Sectigo beschränkt sich auf die wirtschaftlichen Konditionen, zu denen Angehörige von DFN-Teilnehmern Produkte von Sectigo in Anspruch nehmen können. Sectigo entscheidet somit allein über Art, Umfang und Dauer der Verarbeitung aufgrund des Subscriber Agreement mit dem betroffenen Angehörigen des DFN-Teilnehmers und ist somit als Verantwortlicher im Sinne des Art. 4 Nr. 7 DS-GVO anzusehen. Dies schließt die Eigenschaft als Auftragsverarbeiter aus, so dass hier gemäß Art. 28 Abs. 10 DS-GVO schon keine rechtliche Möglichkeit zum Abschluss einer Auftragsverarbeitung besteht.
 =====Funktionsüberblick===== =====Funktionsüberblick=====
  
Zeile 63: Zeile 66:
 =====Admins, Rollen & Privilegien===== =====Admins, Rollen & Privilegien=====
  
-Im linken Seitenmenü können unter ☰->Settings->Admins weitere Accounts angelegt werden.+Im linken Seitenmenü können unter ☰->Settings->Admins weitere Accounts angelegt werden. Standard (D)RAO-Accounts mit Login via Account-Name/Passwort werden dort über das grüne "+"-Symbol angelegt.
  
 Es wird zwischen verschiedenen Rollen unterschieden, die in sich noch einmal mit unterschiedlichen Privilegien versehen werden können. Es wird zwischen verschiedenen Rollen unterschieden, die in sich noch einmal mit unterschiedlichen Privilegien versehen werden können.
Zeile 69: Zeile 72:
  * RAO und DRAO sind Registration Authority Officer auf Organisations- oder Department-(Abteilungs)-Ebene. Je nach den diesen Accounts bei der Einrichtung zugewiesenen Rechten können RAO/DRAO weitere RAOs/DRAOs anlegen, modifizieren oder löschen, und eine Auswahl der Zertifikattypen SSL, Client und Code Signing erstellen.  * RAO und DRAO sind Registration Authority Officer auf Organisations- oder Department-(Abteilungs)-Ebene. Je nach den diesen Accounts bei der Einrichtung zugewiesenen Rechten können RAO/DRAO weitere RAOs/DRAOs anlegen, modifizieren oder löschen, und eine Auswahl der Zertifikattypen SSL, Client und Code Signing erstellen.
  
-Der erste RAO-Account einer Einrichtung wird von der DFN-PCA angelegtWeitere RAOs oder DRAOs können dann eigenständig angelegt und verwaltet werden.+ * MRAO sind die Main Registration Authority Officer auf übergeordneter DFN-Ebene. Die MRAO-Rolle wird nicht an Personen außerhalb der DFN-PCA vergebenDas Privileg ''Approve domain delegation'' ist ausschließlich MRAOs vorbehalten. Die MRAOs können über die üblichen Kontakte zur DFN-PCA erreicht werden, z.B. per E-Mail an [[mailto:dfnpca@dfn-cert.de|dfnpca@dfn-cert.de]].
  
-   * Privilegien "Allow ... of peer adminermöglichen u.a. das Anlegen, Modifizieren oder Löschen von weiteren RAOs/DRAOs. Diese Privilegien können für DRAO-Accounts von einem RAO-Account aus selbst verwaltet werden. Für RAO-Accounts können diese Privilegien nicht selbst durch einen (anderen) RAO-Account gesetzt werden, sondern nur von der DFN-PCA nachträglich geändert werden. Zur Einbindung weiterer Personen mit RAO-Accountdie neue Admins anlegen, ändern oder löschen dürfen, legen Sie bitte zuerst einen RAO-Account an, sofern kein bestehender RAO-Account geändert werden soll, und melden sich dann bitte per E-Mail bei ''dfnpca@dfn-cert.de''+Der erste RAO-Account einer Einrichtung wird von der DFN-PCA angelegt. Dieser erste RAO-Account erhält automatisch die von uns vergebenen höchstmöglichen Privilegien im SCM. Weitere RAOs oder DRAOs können dann eigenständig angelegt und verwaltet werden. 
-   * Mit dem Privileg "DCV(Domain Control Validation) kann die [[de:dfnpki:tcsfaq#domainvalidierung_domain_control_validation_dcv|Domainfreischaltung]] gesteuert werden. Dieses Privileg kann für DRAO-Accounts von einem RAO-Account aus selbst verwaltet werdenFür RAO-Accounts kann dieses Privileg nicht selbst durch einen (anderen) RAO-Account gesetzt werden, sondern nur von der DFN-PCA nachträglich geändert werden. Zur Einbindung weiterer Personen mit RAO-Account, die Domainfreischaltungen starten dürfen, legen Sie bitte zuerst einen RAO-Account an, sofern kein bestehender RAO-Account geändert werden soll, und melden sich dann bitte per E-Mail bei ''dfnpca@dfn-cert.de''+ 
-   API-Only-User: Ein RAO/DRAO-Account kann auf "API-Only" eingeschränkt werden (Privileg "WS-API onlyim Dialog "Add New Client Admin", Menü ☰->Settings->Admins, Button "+"). Mit diesem Account kann dann ausschl. das REST-API bedient werden. Wichtig: Nach unseren Erkenntnissen sollte diese Checkbox erst nachträglich **nach** dem Ändern des Anfangspasswortes angekreuzt werden, da der neue Account sich einmal an der Web-Oberfläche anmelden muss, um sein Passwort vom Initial-Passwort zu setzen. Erst nach dem Setzen des richtigen Passworts sollte "WS-API onlyüber ☰->Settings->Admins-><Auswahl>->Edit unten im Karteireiter "Role & Privileges" angekreuzt werden. Dieses Privileg kann für DRAO-Accounts von einem RAO-Account aus selbst verwaltet werden. Für RAO-Accounts kann dieses Privileg nicht selbst durch einen (anderen) RAO-Account gesetzt werden, sondern nur von der DFN-PCA nachträglich geändert werden. Zur Einbindung weiterer Personen mit "WS-API only"-RAO-Accountlegen Sie bitte zuerst einen RAO-Account an, sofern kein bestehender RAO-Account geändert werden soll, loggen sich einmal ein, um das Anfangspasswort zu ändern und melden sich erst dann bitte per E-Mail bei ''dfnpca@dfn-cert.de''. Weitere Einstellungen, die unbedingt vorgenommen werden müssen, bevor das REST-API genutzt werden kann, finden sich in [[de:dfnpki:tcsfaq#rest-api|REST-API]].+   * Privilegien ''Allow ... of peer admin'' ermöglichen auf Organisationsebene u.a. das Anlegen, Modifizieren oder Löschen von weiteren RAO-Accounts durch einen RAO-Account, analog auf Department-Ebene von weiteren DRAO-Accounts durch einen DRAO-Account. DRAO-Accounts können von jedem RAO-Account aus angelegt, modifiziert und gelöscht werden.  
 +   * ''Allow to manage organizations/departments'': Mit diesem Privileg darf ein RAO-Account die Organisations- und Department-Details ändern. Mit dieser Berechtigung darf ein DRAO-Account die Department-Details ändern
 +   * Mit dem Privileg ''Allow DCV'' (Domain Control Validation) kann die [[de:dfnpki:tcsfaq#domainvalidierung_domain_control_validation_dcv|Domainvalidierung]] gesteuert werden. **Achtung:** Auch ohne dieses Privileg ist das Eintragen von Domains und in bestimmten Situationen auch deren unmittelbare Verwendung möglich. 
 +   * Das Privileg ''Approve domain delegation'' ist ausschließlich MRAO-Accounts vorbehalten. 
 +   * ''Allow certificate revocation'': Mit diesem Privileg darf ein RAO/DRAO-Account die für diesen SCM-Account sichtbaren Zertifikate (also auf Organisations- und/oder Department-Ebene) sperren
 +   WS-API only: Ein RAO/DRAO-Account kann auf eine ausschließliche API-Nutzung eingeschränkt werden (Privileg ''WS API use only'' im Dialog "Add New Client Admin", Menü ☰->Settings->Admins, Button "+"). Mit diesem Account kann dann ausschl. das REST-API bedient werden. Wichtig: Nach unseren Erkenntnissen sollte diese Checkbox erst nachträglich **nach** dem Ändern des Anfangspasswortes angekreuzt werden, da der neue Account sich einmal an der Web-Oberfläche anmelden muss, um sein Passwort vom Initial-Passwort zu setzen. Erst nach dem Setzen des richtigen Passworts sollte ''WS API use only'' über ☰->Settings->Admins-><Auswahl>->Edit unten im Karteireiter "Role & Privileges" angekreuzt werden. Zur Einbindung weiterer Personen mit "WS-API only"-RAO-Account legen Sie bitte zuerst einen RAO-Account an, sofern kein bestehender RAO-Account geändert werden soll, loggen sich einmal ein, um das Anfangspasswort zu ändern. Weitere Einstellungen, die unbedingt vorgenommen werden müssen, bevor das REST-API genutzt werden kann, finden sich in [[de:dfnpki:tcsfaq#rest-api|REST-API]].
    * E-Mail-Adressen von SCM-Admin-Accounts dürfen keine großen Buchstaben (A-Z) enthalten. Kleinschreibung (a-z) wird akzeptiert.    * E-Mail-Adressen von SCM-Admin-Accounts dürfen keine großen Buchstaben (A-Z) enthalten. Kleinschreibung (a-z) wird akzeptiert.
 +
 +Für andere/neue RAO-Accounts können die meisten Privilegien nur dann durch einen RAO-Account selbst verwaltet werden, wenn dieser RAO-Account das Privileg ''Allow editing of peer admin users''/''Allow creation of peer admin users'' besitzt und das zu vergebene Privileg selbst bereits besitzt.
 +
 +Die meisten Privilegien können für DRAO-Accounts mit einem RAO-Account selbst verwaltet werden. Um einen DRAO-Account anzulegen, muss allerdings vorher bereits ein Department eingerichtet worden sein.
 +
 +Für andere/neue DRAO-Accounts können die meisten Privilegien nur dann durch einen DRAO-Account selbst verwaltet werden, wenn dieser DRAO-Account das Privileg ''Allow editing of peer admin users''/''Allow creation of peer admin users'' besitzt und das zu vergebene Privileg selbst bereits besitzt.
 +
 +DRAOs melden sich zum Umsetzen von Privilegien, die sie selbst nicht umsetzen können bei den zuständigen RAOs oder bei einem "Peer"-DRAO mit den entsprechenden Änderungsprivilegien, die das zu vergebene Privileg bereits haben.
 + 
 +RAOs melden sich zum Umsetzen von Privilegien, die sie selbst nicht umsetzen können bei den zuständigen "Peer"-RAOs mit den entsprechenden Änderungsprivilegien, die das zu vergebene Privileg bereits haben.
 +
 +Falls das aus Gründen nicht möglich ist, melden Sie sich zum Umsetzen von Privilegien bitte per E-Mail bei [[mailto:dfnpca@dfn-cert.de|dfnpca@dfn-cert.de]]. Wir klären die Situation dann mit den benannten handlungsberechtigten Personen für DFN-PKI-Belange in Ihrer Einrichtung oder mit den bestehenden RAOs der Einrichtung mit den höchsten Privilegien im SCM.
 +
 +
  
 ====Passworte==== ====Passworte====
Zeile 95: Zeile 117:
   - Bei einem per ☰->Settings->Admins, Button "Add", manuell angelegten Account mit Passwort kann zusätzlich das Feld "Identity Provider" auf "Your Institution" gesetzt werden, und "EPPN" auf den Wert des Attributes eduPersonPrincipalName. Anschließend kann sich dieser Account per Nutzername/Password und alternativ auch per SAML über den einrichtungseigenen IdP einloggen.   - Bei einem per ☰->Settings->Admins, Button "Add", manuell angelegten Account mit Passwort kann zusätzlich das Feld "Identity Provider" auf "Your Institution" gesetzt werden, und "EPPN" auf den Wert des Attributes eduPersonPrincipalName. Anschließend kann sich dieser Account per Nutzername/Password und alternativ auch per SAML über den einrichtungseigenen IdP einloggen.
   - Mit dem Weg ☰->Settings->Admins, Button "Add IdP User", kann ein Account ohne Passwort angelegt werden, der sich nur über den IdP einloggen kann. Ein neu angelegter Account muss von einem anderen Admin freigeschaltet werden. Ohne Freischaltung ist kein Login möglich.   - Mit dem Weg ☰->Settings->Admins, Button "Add IdP User", kann ein Account ohne Passwort angelegt werden, der sich nur über den IdP einloggen kann. Ein neu angelegter Account muss von einem anderen Admin freigeschaltet werden. Ohne Freischaltung ist kein Login möglich.
-    * Ein neu angelegter IdP User in der Organisation muss von der DFN-PCA freigeschaltet werden. Beauftragen Sie die Freischaltung bitte einfach per E-Mail an [[mailto:dfnpca@dfn-cert.de|mailto:dfnpca@dfn-cert.de]].+    * Ein neu angelegter IdP User in der Organisation muss von der DFN-PCA freigeschaltet werden. Beauftragen Sie die Freischaltung bitte einfach per E-Mail an [[mailto:dfnpca@dfn-cert.de|dfnpca@dfn-cert.de]].
     * Ein von einem RAO neue angelegter IdP User in einem Department kann von einem zweiten RAO direkt freigeschaltet werden.     * Ein von einem RAO neue angelegter IdP User in einem Department kann von einem zweiten RAO direkt freigeschaltet werden.
  
  
-Ihr IdP muss mindestens ''schacHomeOrganization'', ''eduPersonPrincipalName'' und ''mail'' an Sectigo übertragen. Die übertragenen Attribute können Sie einsehen unter: https://cert-manager.com/customer/DFN/ssocheck/+Ihr IdP muss mindestens ''schacHomeOrganization'', ''eduPersonPrincipalName'' (''ePPN''und ''mail'' an Sectigo übertragen. Die übertragenen Attribute können Sie einsehen unter: https://cert-manager.com/customer/DFN/ssocheck/
  
  
Zeile 108: Zeile 130:
 Bitte beim Eintragen des Secondary Organization Names darauf achten, dass dessen Länge unter 64 Zeichen bleibt. Es wird sonst zu mysteriösen Fehlern bei der Zertifikatbeantragung kommen. Bitte beim Eintragen des Secondary Organization Names darauf achten, dass dessen Länge unter 64 Zeichen bleibt. Es wird sonst zu mysteriösen Fehlern bei der Zertifikatbeantragung kommen.
  
-**Wichtig:** Unter "Client Certificates" bitte im Regelfall unbedingt alle Punkte "Allow Key Recovery by..." herausnehmen! Es kommt sonst zu mysteriösen Fehlern bei der Zertifikatbeantragung. Für eine bewusste Entscheidung für Key Recovery siehe [[https://doku.tid.dfn.de/de:dfnpki:tcsfaq#schluesselhinterlegung_bei_nutzerzertifikaten|https://doku.tid.dfn.de/de:dfnpki:tcsfaq#schluesselhinterlegung_bei_nutzerzertifikaten]].+**Wichtig:** Unter "Client Certificates" bitte unbedingt alle Punkte "Allow Key Recovery by..." herausnehmen! Es kommt sonst zu mysteriösen Fehlern bei der Zertifikatbeantragung.
  
-Im Anschluss können über ☰->Settings->Admins weitere Zugänge ("DRAOs") angelegt werden, die nur innerhalb der zugewiesenen Abteilung Zertifikate verwalten können.+Im Anschluss können über ☰->Settings->Admins weitere Zugänge ("DRAOs") angelegt werden, die innerhalb der zugewiesenen Abteilung Zertifikate verwalten können.
  
 +Entgegen der Intuition unterliegen DRAOs keiner besonderen Beschränkung in der Domain-Verwaltung.
  
 =====Zugriff per AAI===== =====Zugriff per AAI=====
Zeile 117: Zeile 140:
 Viele Funktionen im cert-manager können auch nach einem Login über die DFN-AAI genutzt werden. Hierzu müssen die folgenden Voraussetzungen erfüllt sein: Viele Funktionen im cert-manager können auch nach einem Login über die DFN-AAI genutzt werden. Hierzu müssen die folgenden Voraussetzungen erfüllt sein:
  
-   * In der Verwaltungsoberfläche müssen unter ☰->Organizations-><Auswahl>->Edit->🖉 die Felder Secondary Organization Name und Academic code (SCHAC Home Organization) gesetzt sein. +   * In der Verwaltungsoberfläche müssen unter ☰->Organizations-><Auswahl>->✎ die Felder Secondary Organization Name und Academic code (SCHAC Home Organization) gesetzt sein. 
-       * Wenn kein Academic code (SCHAC Home Organization) gesetzt ist, senden Sie bitte den entspr. Wert per E-Mail an ''dfnpca@dfn-cert.de''+       * Wenn kein Academic code (SCHAC Home Organization) gesetzt ist, senden Sie bitte den entspr. Wert per E-Mail an [[mailto:dfnpca@dfn-cert.de|dfnpca@dfn-cert.de]].
        * Welcher Wert zu setzen ist, können Sie evtl. schon der Ausgabe von https://cert-manager.com/customer/DFN/ssocheck/ entnehmen. Oft entspricht dieser Wert der Haupt-Domain einer Einrichtung, also z.B. ''uni-musterstadt.de''. Im Zweifel wenden Sie sich bitte an Ihre haus-interne AAI-Administration.        * Welcher Wert zu setzen ist, können Sie evtl. schon der Ausgabe von https://cert-manager.com/customer/DFN/ssocheck/ entnehmen. Oft entspricht dieser Wert der Haupt-Domain einer Einrichtung, also z.B. ''uni-musterstadt.de''. Im Zweifel wenden Sie sich bitte an Ihre haus-interne AAI-Administration.
   * Ihr Identity-Provider muss in eduGAIN eingebunden sein   * Ihr Identity-Provider muss in eduGAIN eingebunden sein
-  * Ihr Identity-Provider muss mindestens die Attribute ''mail'' und ''eduPersonPrincipleName'' an den Service-Provider von Sectigo ausliefern.  +  * Ihr Identity-Provider muss mindestens die Attribute ''schacHomeOrganization'', ''mail'' und ''eduPersonPrincipalName'' (''ePPN''an den Service-Provider von Sectigo ausliefern.  
   * Für eine AttributeFilterPolicy für Ihren Identity-Provider, die die gewünschten Attribute an Sectigo überträgt, siehe https://doku.tid.dfn.de/de:shibidp:config-attributes-tcs   * Für eine AttributeFilterPolicy für Ihren Identity-Provider, die die gewünschten Attribute an Sectigo überträgt, siehe https://doku.tid.dfn.de/de:shibidp:config-attributes-tcs
  
Zeile 192: Zeile 215:
 </code> </code>
  
-=====Domainvalidierung, Domain Control Validation (DCV)=====+=====Domains und IPv4-Adressen in Zertifikaten=====
  
-Um Zertifikate zu erhalten, müssen die entsprechenden Domains im linken Seitenmenü unter dem Punkt "Domainseingetragen werden. Nach der Eintragung muss jede Domain über "Domain Control Validation" validiert werden (Status muss auf "Validated" gesetzt sein).+Um Zertifikate zu erhalten, müssen die entsprechenden Domains oder IPv4-Adressen im SCM unter ☰->Domains eingetragen und delegiert werden. Jeder Eintrag muss über "Domain Control Validation" (DCV) validiert werden (Status muss auf "Validated" gesetzt sein).
  
-**Ausnahme:** Wenn die eingetragene Domain ein FQDN ist und ausschließlich über das ACME-Protokoll mit einem Zertifikat versorgt werden sollkann auf die Validierung in cert-manager verzichtet werden. Der FQDN wird dann automatisch im Rahmen des ACME-Protokoll validiert+Für Domains giltEs muss zunächst die Hauptdomain eingetragen, delegiert (Delegate) und validiert (DCV) werden, z.B. ''example.org''. Nach erfolgreicher Validierung (DCV) kann dann ein Sternchen-Eintrag ''*.example.org'' eingetragen werden. Nur mit dem Sternchen-Eintrag können später Zertifikate zu beliebigen FQDNs unterhalb der Hauptdomain erzeugt werden.
  
-Es muss zunächst die Hauptdomain eingetragen und validiert werdenz.B. ''example.org''. Nach erfolgreicher Validierung kann dann ein Sternchen-Eintrag ''*.example.org'' erzeugt werden. Nur mit dem Sternchen-Eintrag können Zertifikate zu beliebigen FQDN unterhalb der Hauptdomain erzeugt werden können.+Wenn Sie CAA-Records im DNS verwenden, um die Zertifikatausstellung zu kontrollieren, so müssen die CAA-Records bereits zum Zeitpunkt der Domainvalidierung passen, und nicht erst zum Zeitpunkt der Ausstellung von Zertifikatensiehe [[de:dfnpki:tcsfaq#caa-Records|CAA-Records]].
  
-Wenn Sie CAA-Records verwendenso müssen diese bereits zum Zeitpunkt der Domainvalidierung passenund nicht erst zum Zeitpunkt der Ausstellung von Zertifikatensiehe [[de:dfnpki:tcsfaq#caa-Records|CAA-Records]]+Die Validierung von IPv4-Adressen erfordert in einem etwas aufwändigeren Verfahren einen manuellen Kontakt mit dem Support. IPv6-Adressen in Zertifikaten werden im Rahmen von GÉANT TCS leider nicht unterstützt.  
 +====Domain/IPv4-Adress-Delegation==== 
 + 
 +===Domains/IPv4-Adressen im SCM eintragen=== 
 + 
 +Im SCM können Domains und IPv4-Adressen unter ☰->Domains über das grüne "+"-Symbol auf Organisations- und/oder Department-Ebene für eine beliebige Kombination von Zertifikattypen (''SSL''-Serverzertifikate''Client  Certificates'' und ''Code Signing''-Zertifikate) hinzugefügt werden. Wird eine Domain bzw. IP-Adresse hinzugefügt löst dieses automatisch eine Delegationsanfrage bei der DFN-PCA aus. Sobald diese Anfrage genehmigt ist, können Sie mit der Domain Control Validation (DCV) weiter machenfalls die DCV nicht bereits vorher im System durchgeführt wurde und an den neuen Eintrag "vererbt" wird. 
 + 
 +===Delegationen verwalten=== 
 + 
 +Solange für einen Domains/IP-Address-Eintrag mindestens eine Delegation an die eigene Einrichtung bzw. das eigene Department bestehen bleibt, können diese von (D)RAOs unter ☰->Domains--><Domain-Auswahl>-->[Delegate]-Button über eine Checkbox-Matrix innerhalb der Einrichtung bzw. des Departments verwaltet werden. 
 + 
 +===Domains/IP-Addressen aus SCM entfernen=== 
 + 
 +(D)RAOs können selbständig keine Domains bzw. IP-Adressen aus dem SCM entfernen/löschen. 
 + 
 +Die Entfernung einer Domain bzw. IP-Adressen impliziert die Entfernung aller dazugehörigen Delegationen. 
 + 
 +Um eine bereits eingetragene Domain bzw. IP-Adresse wieder aus dem SCM zu entfernensenden Sie bitte eine E-Mail an [[mailto:dfnpca@dfn-cert.de|dfnpca@dfn-cert.de]].  
 + 
 +====Domainvalidierung, Domain Control Validation (DCV)==== 
 + 
 +Um Zertifikate zu erhalten, müssen die entsprechenden Domains im SCM unter ☰->Domains eingetragen werden. Nach der Eintragung muss jede Domain über "Domain Control Validation" (DCV) validiert werden (Status muss auf "Validated" gesetzt sein). 
 + 
 +**Ausnahme:** Wenn die eingetragene Domain ein FQDN ist und //ausschließlich// über das ACME-Protokoll mit einem Zertifikat versorgt werden soll, kann auf die Validierung (DCV) im SCM verzichtet werden. Der FQDN wird dann automatisch im Rahmen des ACME-Protokolls validiert. 
  
 Die Domainvalidierung muss bei Sectigo alle 365 Tage wiederholt werden. Das Ablaufdatum ist im cert-manager sichtbar. Die Domainvalidierung muss bei Sectigo alle 365 Tage wiederholt werden. Das Ablaufdatum ist im cert-manager sichtbar.
  
-====Validierungsmethoden====+Sofern die delegierte Domain eine **Wildcard-Domain** ist, z.B. ''*.example.org'', muss die Domainvalidierung mit einer der beiden DCV-Methoden ''E-Mail'' oder ''CNAME'' verwendet werden, damit die Wildcard-Domain voll validiert wird. 
 + 
 +===Validierungsmethoden===
  
-===E-Mail===+==E-Mail==
  
 Domains können wie in der DFN-PKI über die Standardadressen ''hostmaster@'', ''webmaster@'', ''postmaster@'', ''admin@'' und ''administrator@'' validiert werden. Diese Standardadressen müssen in der zu validierenden Domain liegen; die zu validierende Domain muss für den E-Mail-Empfang auf diesen Adressen eingerichtet sein. Domains können wie in der DFN-PKI über die Standardadressen ''hostmaster@'', ''webmaster@'', ''postmaster@'', ''admin@'' und ''administrator@'' validiert werden. Diese Standardadressen müssen in der zu validierenden Domain liegen; die zu validierende Domain muss für den E-Mail-Empfang auf diesen Adressen eingerichtet sein.
Zeile 212: Zeile 260:
 Die E-Mail-Adresse aus dem SOA-Record im DNS steht **nicht** zur Verfügung. Wenn in der zu validierenden Domain kein Mail-Empfang möglich ist, muss eine der anderen Validierungsmethoden verwendet werden. Die E-Mail-Adresse aus dem SOA-Record im DNS steht **nicht** zur Verfügung. Wenn in der zu validierenden Domain kein Mail-Empfang möglich ist, muss eine der anderen Validierungsmethoden verwendet werden.
  
-===DNS bzw. CNAME===+==DNS bzw. CNAME==
  
 Bei der CNAME-Methode muss im DNS ein von Sectigo vorgegebener CNAME für die Domain hinterlegt werden. Beispiel: Bei der CNAME-Methode muss im DNS ein von Sectigo vorgegebener CNAME für die Domain hinterlegt werden. Beispiel:
Zeile 219: Zeile 267:
 </code> </code>
  
-Die Reihenfolge der Schritte im DCV-Ablauf mittels CNAME ist entscheidend: **Zuerst** muss der vom SCM vorgegebene Alias-Name und dessen CNAME-Record von außen im DNS sichtbar sein, **erst danach** darf im SCM-DCV-Dialog auf "Submit" geklickt werden. (Analoges gilt für DCV mittels CNAME per REST-API.)+**Achtung**: Die zeitliche Abfolge der Schritte im DCV-Ablauf mittels CNAME ist entscheidend: **Zuerst** muss der vom SCM vorgegebene Alias-Name und dessen CNAME-Record von außen im DNS sichtbar sein, **erst danach** darf im SCM-DCV-Dialog auf "Submit" geklickt werden. (Analoges gilt für DCV mittels CNAME per REST-API.)
  
 Nach dem "Submitten" werden die DNS-Resolver von TCS automatisch innerhalb der nächsten Stunde drei Mal versuchen, den Alias-Namen aufzulösen. Falls das fehlschlägt, werden keine weiteren automatischen Versuche unternommen. In so einem Fall sollte dann der DCV-Vorgang zurückgesetzt (Mülltonnen-Symbol neben "DCV Order Status" im SCM oder entsprechender REST-API-Aufruf) und neu eingeleitet werden, wobei dann vom SCM ein anderes Alias-Name/CNAME-Paar vorgegeben werden wird. Nach dem "Submitten" werden die DNS-Resolver von TCS automatisch innerhalb der nächsten Stunde drei Mal versuchen, den Alias-Namen aufzulösen. Falls das fehlschlägt, werden keine weiteren automatischen Versuche unternommen. In so einem Fall sollte dann der DCV-Vorgang zurückgesetzt (Mülltonnen-Symbol neben "DCV Order Status" im SCM oder entsprechender REST-API-Aufruf) und neu eingeleitet werden, wobei dann vom SCM ein anderes Alias-Name/CNAME-Paar vorgegeben werden wird.
Zeile 225: Zeile 273:
 Nach erfolgter Validierung kann der CNAME wieder entfernt werden. Es ist davon auszugehen, dass bei einer Revalidierung (alle 365 Tage) ein anderer CNAME gesetzt werden muss. Nach erfolgter Validierung kann der CNAME wieder entfernt werden. Es ist davon auszugehen, dass bei einer Revalidierung (alle 365 Tage) ein anderer CNAME gesetzt werden muss.
  
-===HTTP/HTTPS===+==HTTP/HTTPS==
  
-Bei der HTTP-Methode muss auf dem Webserver eine von Sectigo vorgegebene Datei abgelegt werden.+Bei der HTTP- bzw. HTTPS-Methode muss auf dem Webserver eine von Sectigo vorgegebene Datei unter einer vorgegebenen URL abgelegt werden.
  
 **Achtung:**  Mit dieser Methode wird nur der FQDN selbst validiert; es können keine Zertifikate für Subdomains oder Wildcards zu dem validierten Namen ausgestellt werden. **Achtung:**  Mit dieser Methode wird nur der FQDN selbst validiert; es können keine Zertifikate für Subdomains oder Wildcards zu dem validierten Namen ausgestellt werden.
  
-Hinweise von Sectigo zu dieser Umstellunghttps://sectigo.com/DCVChange+HTTP/HTTPS sind die einzigen zugelassenen Methoden für die Validierung von IPv4-Adressen. 
 + 
 +===TCS' DNS-Resolver (DCV)=== 
 + 
 +Für DCV nutzt TCS DNS-Resolver, die von den Quelladressen ''91.199.212.132'', ''91.199.212.133'', ''91.199.212.151'', ''91.199.212.176'', ''91.199.212.148'' oder ''2a0e:ac00:0231:8080:d00c:12ff:fe51:5511'' aus ankommen(Stand 01/2023) 
 + 
 +====Domains und Departments==== 
 + 
 +Department-Administratoren (DRAOs) unterliegen keiner besonderen Beschränkung in der Domain-Verwaltung. Sie können neue Domains eintragen und abhängig vom Recht ''DCV'' auch validieren lassen. 
 + 
 +Ist eine von einem DRAO eingetragene Domain bereits Ihrer Organisation zugewiesen und gibt es eine gültige Domain Control Validation, steht die Domain quasi sofort im Department zur Ausstellung von Zertifikaten zur Verfügung. Das gleiche gilt für im Department eingetragen Sub-Domains von bereits der Organisation zugewiesenen Parent-Domains. 
 + 
 +Wenn Sie Domains in eingerichteten Departments kontrollieren wollen,  müssen Sie sich z.B. E-Mail Benachrichtigungen über Domain-Delegationen  konfigurieren (☰→Settings→Email Notifications, Typ Domain Approved) 
  
 ====Umlaut-Domains, internationalisierte Domain-Namen (IDN), Punycode==== ====Umlaut-Domains, internationalisierte Domain-Namen (IDN), Punycode====
Zeile 238: Zeile 299:
  
 ====IP-Adressen in Zertifikaten==== ====IP-Adressen in Zertifikaten====
 +
 +TCS erlaubt es aktuell, ausschließlich IPv4-Adressen in Zertifikate aufzunehmen.
  
 Um eine IP-Adresse in Zertifikate in den ''CommonName'' oder in den ''subjectAlternativeName'' (Typ ''ip'') aufnehmen zu können, ist wie folgt vorzugehen: Um eine IP-Adresse in Zertifikate in den ''CommonName'' oder in den ''subjectAlternativeName'' (Typ ''ip'') aufnehmen zu können, ist wie folgt vorzugehen:
-  - IP-Adresse wie eine Domain unter ☰->Domain hinzufügen.+  - IPv4-Adresse wie eine Domain im SCM unter ☰->Domains hinzufügen. Dieses löst automatisch eine Domain-Delegationsanfrage bei der DFN-PCA aus.
   - Bestätigung der Domain-Delegation abwarten.   - Bestätigung der Domain-Delegation abwarten.
-  - DCV für die IP-Adresse mit der Methode ''HTTP'' oder ''HTTPS'' einleiten und submitten. +  - Den DCV-Prozess für die IP-Adresse mit der Methode ''HTTP'' oder ''HTTPS'' einleiten
-  - Den [[de:dfnpki:tcsfaq#support|Sectigo-Support]] mit einem Ticket darüber informieren, dass es einen offenen DCV-Vorgang mit der Methode HTTP/HTTP für die IP-Adresse gibt, und darum bitten, diesen zu prüfen.+  - die dabei von Sectigo angegebene Datei mit dem angegeben Inhalt auf einen Web-Server über HTTP oder HTTPS (je nach ausgewählter DCV-Methode) unter der eingetragenen IP-Adresse und der angegeben URL zur Verfügung stellen. 
 +  - Den begonnenen DCV-Vorgang wieder aufrufen und ''submitten''
 +  - Den [[de:dfnpki:tcsfaq#support|Sectigo-Support]] mit einem Ticket (//Case type: "Technical Support"; Case reason: "Sectigo Certificate Manager (SCM)"//darüber informieren, dass es einen offenen DCV-Vorgang mit der Methode HTTP/HTTPS für die IP-Adresse gibt, und darum bitten, diesen zu prüfen. 
 + 
 +Der Weg über den Support ist auch bei jeder turnusmäßigen, jährlichen Erneuerung der Validierung zu wiederholen. 
 + 
 +Es können nur einzelne IPv4-Adressen eingetragen werden, keine Adressbereiche. 
 + 
 +IPv6-Adressen in Zertifikaten werden von TCS nicht unterstützt. 
  
 =====Zertifikate erstellen===== =====Zertifikate erstellen=====
Zeile 255: Zeile 327:
 Wählen Sie hierzu unter ☰->Certificates->SSL Certificates den grünen Button "+", und folgen Sie dem Formular. Sie müssen in jedem Fall selbst einen CSR vorbereiten und hochladen. Die theoretisch im cert-manager angebotenen Methoden "Generation of CSR..." stehen in GÉANT TCS nicht zur Verfügung und können nicht angewählt werden. Wählen Sie hierzu unter ☰->Certificates->SSL Certificates den grünen Button "+", und folgen Sie dem Formular. Sie müssen in jedem Fall selbst einen CSR vorbereiten und hochladen. Die theoretisch im cert-manager angebotenen Methoden "Generation of CSR..." stehen in GÉANT TCS nicht zur Verfügung und können nicht angewählt werden.
  
-Wählen Sie im Regelfall das Zertifikatprofil OV Multi-Domain. Wählen Sie **nicht** EV Anchor, es sei denn, Sie wollen den speziellen EV-Prozess starten.+Wählen Sie im Regelfall das Zertifikatprofil ''OV Multi-Domain''. Wählen Sie **nicht** das Zertifikatprofil ''EV Anchor'', es sei denn, Sie wollen den speziellen EV-Prozess starten. Potentielle **Falle** hierbei: Das Zertifikatprofil ''EV Anchor'' ist in der Auswahlliste an erster Stelle und vorausgewählt und es gibt auch noch das Zertifikatprofil ''EV Multi-Domain'', das ebenfalls für Standard-SSL-Zertifikate nicht genutzt werden sollte.
  
 ===Über die AAI==== ===Über die AAI====
Zeile 261: Zeile 333:
 Wenn Ihre Einrichtung in die DFN-AAI eingebunden ist und Ihr IdP die Voraussetzungen erfüllt (siehe  [[de:dfnpki:tcsfaq#zugriff_per_aai|Zugriff per AAI]]), können Sie ein Formular aufsetzen, über das nach AAI-Authentifizierung Serverzertifikate beantragt werden können. Wenn Ihre Einrichtung in die DFN-AAI eingebunden ist und Ihr IdP die Voraussetzungen erfüllt (siehe  [[de:dfnpki:tcsfaq#zugriff_per_aai|Zugriff per AAI]]), können Sie ein Formular aufsetzen, über das nach AAI-Authentifizierung Serverzertifikate beantragt werden können.
  
-Über ☰->Enrollment->Enrollment Forms und einen Klick auf den "Add"-Button muss ein Enrollment Endpoint vom Typ "SAML SSL self-enrollment form" angelegt werden. Die über diesen Enrollment Endpoint beantragbaren Zertifikatprofile müssen zugewiesen werdentypischer Weise "OV Multi-Domain" und ggfweitere+  - Im SCM unter ☰->Enrollment->Enrollment Forms 
 +     Mit dem grünen Button "+" oben rechts ein neues Enrollment Form erzeugen 
 +         - Einen sprechenden Namen vergeben, der auf Ihre Einrichtung hinweist 
 +         - Als Typ "SSL certificate enrollment form" setzen 
 +         - Im folgenden Dialog unter Tab "Details" eine URI Extension setzen oder generieren lassen. Diese URI Extension definiert die URL, unter der später Zertifikate beantragt werden kann: ''%%https://cert-manager.com/customer/DFN/ssl/<URI Extension>%%'' 
 +         - Im selben Dialog unter Tab "Configuration" den Authentication Type "Identity Provider" anwählen. 
 +         - Mit "Save" abspeichern 
 +     - Das neue Formular auswählen      
 +     - Oben auf "Accounts" klicken. 
 +     - Im daraufhin geöffneten Popup-Fenster über mit dem grünen "+"-Button einen neuen Account hinzufügen. 
 +     - Einen sprechenden Namen für den Account vergebender auf Ihre Einrichtung hindeutet. 
 +     - Als "Organization" Ihre Einrichtung aus der Drop-Down-Liste auswählen (und ggf. auch ein Department setzen). 
 +     - Bei den Zertifikatprofilen über das kleine "+"-Zeichen aus der Drop-Down-Liste das gewünschte Zertifikatprofil auswählen 
 +         - meist "OV Multi-Domain" 
 +         - "Browser" erzeugt den Schlüssel im Browser des Antragsstellenden. **Achtung**: Diese Methode erfordert eine enge zeitliche Synchronisation mit dem genehmigenden RAO/DRAO, da der Schlüssel nur temporär, sehr flüchtig beim Antragsstellenden vorliegt. Des Weiteren ist die Methode nicht ohne weiteres für Apache oder nginx geeignet, da das Zertifikat nur als PKCS12-Datei zum Download angeboten wird. 
 +     - Als "CSR Generation Method" üblicherweise den Wert "Provided by User" auswählen.  
 +         - "Browser" erzeugt den Schlüssel im Browser des Antragsstellenden. **Achtung**: Diese Methode erfordert eine enge zeitliche Synchronisation mit dem genehmigenden RAO/DRAO, da der Schlüssel nur temporär, sehr flüchtig beim Antragsstellenden vorliegt. Des Weiteren ist die Methode nicht ohne weiteres für Apache oder nginx geeignet, da das Zertifikat nur als PKCS12-Datei zum Download angeboten wird. 
 +     - "Automatically Approve Request" **nicht** anwählen 
 +     - Als "Authorization Method" den Wert "IdP Assertions Mapping" auswählen. **Nicht ''none'' verwenden!** 
 +     - Dann den Button ''Edit'' anwählen 
 +        Hinzufügen von "''schacHomeOrganization'' matches ''<xyz.de>''", mit Plus und Save bestätigen 
 +       - Wenn Sie diesen Schritt auslassen, können User aus beliebigen Identity-Providern Anträge bei Ihnen einreichen! 
 +     - Den Account insgesamt mittels "Save"-button abspeichern.
  
-Mit der Checkbox "Automatically Approve Requests" gibt es die Option, zu derart authentifizierten Anträge direkt das Zertifikat zu erstellen. Wir empfehlen, diese Einstellung nur nach reichlicher Überlegung zu treffen, da es nach unserem Kenntnisstand keine Möglichkeit gibt, die akzeptierten Nutzenden eines IdP einzuschränken. Hiermit kann dann jeder Nutzenden in Ihrem IdP jedes Serverzertifikat erstellen. Wenn Sie hier "Automatically Approve Requests" aktivieren, dann **müssen** Sie die unten beschriebene "URI Extension" als //eine Art Passwort zur automatischen Zertifikatausstellung// sehen, die entsprechend komplex ausfallen sollte.+Bitte keine fremden ''Enrollment Forms'' löschen!
  
-Ist diese Checkbox nicht aktiviert, müssen die Anträge von einem RAO oder DRAO über ☰->Certificates-><TypCertificates-><Auswahl>->Approve Button genehmigt werden.+Anträge können nun unter der per "URI-Extension" definierten URL eingereicht werden. ''%%https://cert-manager.com/customer/DFN/ssl/<URI Extension>%%''
  
-Über die "URI Extension" wird eine einrichtungsspezifische URL angelegt, über die die Beantragung möglich ist. Diese URI Extension können Sie selbst z.B. als "sprechenden" oder sehr zufälligen Passwort-artigen URI-Teil wählen. Der endgültige Beantragungs-Link bildet sich nach dem Muster ''https://cert-manager.com/customer/DFN/idp/ssl/<URI-EXTENSION>/select'' also z.B. ''https://cert-manager.com/customer/DFN/idp/ssl/Uni-Musterstadt-Server-Zertifikat-Antrag-SAML/select'' oder ''https://cert-manager.com/customer/DFN/idp/ssl/WO4BkhxlFtNCN4toQxcXWB/select''+Die eingereichten Anträge müssen von einem RAO oder DRAO über ->Certificates->SSL Certificates-><Auswahl>->Approve Button genehmigt werden.
- +
-Über die optionalen "Hilfe"-Einstellungen können Sie auf eigene Info- bzw. Anleitungs-Web-Seiten Ihrer Einrichtung verweisen, auf denen Sie Ihre lokalen Prozesse zur Beantragung von Serverzertifikaten über TCS mittels DFN-AAI-Login (SAML) beschreiben.+
  
  
 ===SSL Web Form=== ===SSL Web Form===
  
-Mit Web-Formularen können Nutzer ohne eigenen Login in cert-manager Zertifikate beantragen. Zur Nutzung eines Web-Formulars ist ein sogenannter "Access Code" notwendig. Jeder, der diesen Access Code kennt, kann Zertifikate beantragen.+Mit Web-Formularen können Personen ohne eigenen Login für den cert-manager Zertifikate beantragen. Zur Nutzung eines Web-Formulars ist ein sogenannter "Access Code" notwendig. Jeder, der diesen Access Code kennt, kann Zertifikate beantragen.
  
-Access Codes werden von einem RAO unter ☰->Enrollment->Enrollment Forms-><Auswahl "SSL Web Form"> mit dem Button "Accountserstellt.+  - Im SCM unter ☰->Enrollment->Enrollment Forms 
 +     Mit dem grünen Button "+" oben rechts ein neues Enrollment Form erzeugen 
 +         - Einen sprechenden Namen vergeben, der auf Ihre Einrichtung hinweist 
 +         - Als Typ "SSL certificate enrollment form" setzen 
 +         - Im folgenden Dialog unter Tab "Details" eine URI Extension setzen oder generieren lassen. Diese URI Extension definiert die URL, unter der später Zertifikate beantragt werden kann: ''%%https://cert-manager.com/customer/DFN/ssl/<URI Extension>%%'' 
 +         - Im selben Dialog unter Tab "Configuration" den Authentication Type "Email Confirmation" anwählen. 
 +         - Mit "Save" abspeichern 
 +     - Das neue Formular auswählen      
 +     - Oben auf "Accounts" klicken. 
 +     - Im daraufhin geöffneten Popup-Fenster über mit dem grünen "+"-Button einen neuen Account hinzufügen. 
 +     - Einen sprechenden Namen für den Account vergeben, der auf Ihre Einrichtung hindeutet. 
 +     - Als "OrganizationIhre Einrichtung aus der Drop-Down-Liste auswählen (und ggf. auch ein Department setzen). 
 +     - Bei den Zertifikatprofilen über das kleine "+"-Zeichen aus der Drop-Down-Liste das gewünschte Zertifikatprofil auswhlen 
 +         - meist "OV Multi-Domain" 
 +     - Als "CSR Generation Method" üblicherweise den Wert "Provided by User" auswählen.  
 +         - "Browser" erzeugt den Schlüssel im Browser des Antragsstellenden. **Achtung**: Diese Methode erfordert eine enge zeitliche Synchronisation mit dem genehmigenden RAO/DRAO, da der Schlüssel nur temporär, sehr flüchtig beim Antragsstellenden vorliegt. Des Weiteren ist die Methode nicht ohne weiteres für Apache oder nginx geeignet, da das Zertifikat nur als PKCS12-Datei zum Download angeboten wird. 
 +     - "Automatically Approve Request" **auf keinen Fall** anwählen. 
 +     - Als "Authorization Method" den Wert "Access Code" auswählen. **Nicht ''none'' verwenden!** 
 +     - Einen Access Code eintragen 
 +     - Den Account mittels "Save"-button abspeichern.
  
-**Bitte verwenden Sie nicht den Button Edit**. Mit diesem Button können Hilfetexte und -links gesetzt werden, die sich **global** auf alle anderen Einrichtungen im gesamten DFN-Mandanten auswirken.+Bitte keine fremden ''Enrollment Forms'' löschen!
  
-**Bei Accounts für SSL Web Forms setzen Sie bitte auf keinen Fall die Checkbox "Automatically Approve Requests"**. Genehmigen Sie eingehende Requests immer manuell nach Prüfung über out-of-band-Methoden (z.Beine informelle E-Mail).+Anträge können nun unter der per "URI-Extensiondefinierten URL eingereicht werden''%%https://cert-manager.com/customer/DFN/ssl/<URI Extension>%%''
  
-Die URL ist für alle Web-Formulare aller Einrichtungen im DFN-Mandanten von TCS zur Beantragung von Serverzertifikaten identisch: https://cert-manager.com/customer/DFN/ssl+Antragstellende werden zunächst durch eine E-Mail-Challenge geführt, mit der ihre E-Mail-Adresse verifiziert wird. Anschließend müssen sie den Access Code präsentieren, um dann mit den Parametern des hier angelegten Accounts Zertifikate beantragen zu können.
  
-Erst der Access Code sorgt für die Zuordnung eines Antrags zu Ihrer Einrichtung.+Die eingereichten Anträge müssen von einem RAO oder DRAO über ☰->Certificates->SSL Certificates-><Auswahl>->Approve Button genehmigt werden.
  
 ===ACME=== ===ACME===
Zeile 294: Zeile 405:
  
 Über das REST API können mit selbst erstellter Software oder Skripten Serverzertifikate erstellt werden. Hinweise hierzu unter [[de:dfnpki:tcsfaq#rest-api|REST-API]] Über das REST API können mit selbst erstellter Software oder Skripten Serverzertifikate erstellt werden. Hinweise hierzu unter [[de:dfnpki:tcsfaq#rest-api|REST-API]]
- 
- 
  
  
Zeile 302: Zeile 411:
 ===E-Mail-Einladung=== ===E-Mail-Einladung===
  
-Die Erstellung von Nutzerzertifikaten ist nach einiger Vorbereitung möglichInsbesondere muss ein ''Enrollment Form Account'' angelegt werden:+**Achtung: Seit 28.08.23 ist aufgrund der Umstellung auf neue Richtlinien ("S/MIME-BRs"
 +die Erstellung von Nutzerzertifikaten gestörtDie folgenden Schritte führen nicht generell zum Erfolg.**
  
-  - Im SCM unter ☰->Enrollment->Enrollment Forms +Die Erstellung von Nutzerzertifikaten mit E-Mail-Einladungen ist nach drei Vorbereitungsschritten möglich
-     - das Enrollment Form mit dem Namen ''DFN-wide Default Client Certificate Self-Enrollment Form'' durch Blättern oder Filtern suchen und auswählen;      +
-     - oben auf "Accounts" klicken. +
-     - Im daraufhin geöffneten Popup-Fenster über mit dem grünen "+"-Button einen neuen Enrollment-Form-Account hinzufügen. +
-     - Einen sprechenden Namen für den Account vergeben, der auf Ihre Einrichtung hindeutet. +
-     - Als "Organization" Ihre Einrichtung aus der Drop-Down-Liste auswählen (und ggf. auch ein Department setzen). +
-     - Bei den Zertifikatprofilen über das kleine "+"-Zeichen aus der Drop-Down-Liste das gewünschte Zertifikatprofil für den E-Mail-Einladungsprozess auswählen. +
-         - meist "GEANT Personal Certificate", dieses mit Auswahl von Laufzeit, Algorithmus und Schlüssellänge durch den Antragsstellenden +
-         - alternativ "GEANT Personal Certificate RSA 3 year" oder "...1 year" mit Limitierung auf 4096 Bit RSA mit 3 bzw. 1 Jahr Laufzeit. +
-     - Als "CSR Generation Method" den Wert "Browser" oder "Server" auswählen.  +
-         - "Server" erzeugt den Schlüssel auf Sectigo-Seite +
-         - "Browser" erzeugt den Schlüssel im Browser des Antragsstellenden. **Achtung**: Diese Methode erzeugt zur Zeit leider mit Thunderbird teilweise inkompatible P12 +
-     - "Allow empty PKCS12 Password" **nicht** aktivieren. +
-     - Als "Authorization Method" den Wert "none" auswählen. +
-     - Das Ganze mittels "Save"-button abspeichern.+
  
-Bitte keine fremden ''Client certificate enrollment-forms'' löschen!+1. Zunächst muss ein ''Account'' in einem ''Enrollment Form'' angelegt werden:
  
-Bitte keine neueneigenen ''Client certificate enrollment-forms'' anlegen!+   * Im SCM unter ☰->Enrollment->Enrollment Forms 
 +         * Mit dem grünen Button "+" oben rechts ein neues Enrollment Form erzeugen 
 +         * Einen sprechenden Namen vergebender auf Ihre Einrichtung hinweist 
 +         * Als Typ "Client certificate certificate enrollment form" setzen 
 +         * Im folgenden Dialog unter Tab "Details" eine URI Extension setzen oder generieren lassen. Diese URI Extension definiert die URL, unter der später Zertifikate beantragt werden kann: ''%%https://cert-manager.com/customer/DFN/smime/<URI Extension>%%'' 
 +         * Im selben Dialog unter Tab "Configuration" den Authentication Type "Email Confirmation" anwählen. **Achtung:** Auf keinen Fall "Identity Provider" setzen! 
 +         * Mit "Save" abspeichern 
 +   * Oben auf "Accounts" klicken. 
 +         * Im daraufhin geöffneten Popup-Fenster über mit dem grünen "+"-Button einen neuen Account hinzufügen. 
 +         * Einen sprechenden Namen für den Account vergeben, der auf Ihre Einrichtung hindeutet. 
 +         * Als "Organization" Ihre Einrichtung aus der Drop-Down-Liste auswählen (und ggf. auch ein Department setzen). 
 +         * Bei den Zertifikatprofilen über das kleine "+"-Zeichen aus der Drop-Down-Liste das gewünschte Zertifikatprofil für den E-Mail-Einladungsprozess auswählen. 
 +             * Für Zertifikate für S/MIME mit Identifizierung der Person und Vorname/Nachname im Zertifikat:  
 +                 * "GEANT Personal email signing and encryption", dieses mit Auswahl von Laufzeit, Algorithmus und Schlüssellänge durch den Antragsstellenden 
 +                 * alternativ "GEANT email signing and encryption - 2 Years RSA 4096" mit Limitierung auf 4096 Bit RSA mit 2 Jahr Laufzeit. 
 +             * Für Zertifikate für S/MIME ohne Identifizierung und ohne Vorname/Nachname:  
 +                 * "GEANT Organisation email signing and encryption", dieses mit Auswahl von Laufzeit, Algorithmus und Schlüssellänge durch den Antragsstellenden 
 +                 * alternativ "GEANT Organisation signing and encryption - 2 Years RSA 4096" mit Limitierung auf 4096 Bit RSA mit 2 Jahr Laufzeit.         * Als "CSR Generation Method" den Wert "Browser" oder "Server" auswählen.  
 +            * "Server" erzeugt den Schlüssel auf Sectigo-Seite 
 +            * "Browser" erzeugt den Schlüssel im Browser des Antragsstellenden 
 +         * "Allow empty PKCS12 Password" **nicht** aktivieren. 
 +         * Als "Authorization Method" den Wert "none" auswählen. **Achtung**: Bitte auf keinen Fall Authorization Method ''Access Code'' im Zusammenhang mit client certificates verwenden! Die Nutzenden können bei diesem Antragsweg beliebige Vor- und Nachnamen angeben. Es wird lediglich die E-Mail-Adresse verifiziert, und das Zertifikat anschließend automatisch ausgestellt. Sie haben keine Möglichkeit, Vor- und Nachnamen vor Ausstellung zu verifizieren.  
 +         * Mit "Save" abspeichern.
  
-Dann zum manuellen Auslösen der einzelnen Einladungs-Mails durch (D)RAOs unterhalb von ☰->Persons: 
  
-  - Mit dem grünen "+"-Button kann eine einzelne Person angelegt werden. 
-    - Der gesetzte ''Common Name'' wird in das Zertifikat übernommen und ist nicht durch die beantragende Person selbst änderbar. 
-    -  **Achtung:** Die Felder ''First Name'',  ''Middle Name'' und ''Last Name'' können derzeit während der Zertifikatbeantragung durch die beantragende Person geändert werden. 
-  - Anschließend muss die Person mit der Checkbox vor dem Namen ausgewählt werden. Über den Button "Edit" erscheint ein weiterer Dialog, der unter dem Reiter "Enrollment Invitation" hinter Invitations wieder ein "+"-Symbol enthält, mit dem man einen Dialog zum Versenden einer E-Mail-Einladung öffnen kann. 
-  - Dabei genau den "Enrollment Endpoint" aus der Drop-Down-Liste auswählen, in dem Sie oben (in den Schritten 4-11) den ''Enrollment Form Account'' angelegt haben und dann eben diesen angelegten "Account" auswählen. (Es werden die im Account ausgewählten Zertifikatprofile, die die Person später zur Auswahl zur Zertifikatsbeantragung vorgelegt bekommt, angezeigt.) 
-  - Abschließend auf den "Send"-Button klicken, um die Einladungs-E-Mail zu versenden. 
  
-Mit der Einladung kann direkt ein Zertifikat bezogen werden.+2Anschließend werden unterhalb von ☰->Persons neue Einträge für Personen angelegt:
  
 +  * Mit dem grünen "+"-Button kann eine einzelne Person angelegt werden.
  
-Mit dem Upload-Symbol neben dem "+"-Button kann eine CSV-Datei hochgeladen werden. Mit der CSV-Datei können mehrere Personen auf einmal angelegt werden. Das CSV-Format ist in der SCM-Dokumentation in Abschnitt B.3 beschrieben. **Achtung:** Es wird beim Upload automatisch eine E-Mail-Einladung zum Zertifikatbezug versandt. Allerdings enthält diese E-Mail-Einladung derzeit einen Link auf einen veralteten Workflow zur Zertifikatausstellung, so dass dieser Weg derzeit nicht verwendet werden sollte.+      * Zunächst die Felder ''First Name'', ''Last Name'' und ''Email Address'' ausfüllen 
 +      * Im folgenden Dialog den ''Common Name'' setzen 
 +      * Wenn die Person Zertifikate vom Typ ''GÉANT Personal email signing and encryption'' erhalten soll (inklusive vorname/Nachname im Zertifikat), so muss der Validation Type auf ''HIGH'' gesetzt werden. Voraussetzung ist, dass in Ihrer Einrichtung eine Identifizierung der Person stattgefunden hat, siehe hierzu auch [[de:dfnpki:tcsfaq##identifizierung_und_dokumentation|Identifizierung und Dokumentation]]
  
-Bitte beachten Sie die Identifizierungsvoraussetzungen, bevor Sie Personen anlegen[[de:dfnpki:tcsfaq#identifizierung_und_dokumentation|Identifizierung und Dokumentation]].+  * Mit dem Upload-Symbol neben dem "+"-Button kann eine CSV-Datei hochgeladen werden. Mit der CSV-Datei können mehrere Personen auf einmal angelegt werden. Das CSV-Format ist in der SCM-Dokumentation in Abschnitt B.3 beschrieben. Die grundsätzliche minimale Struktur ist: 
 +<code> 
 +<Vorname>;;<Nachname>;<E-Mail-Adresse>;;High;<Organisationsname>;;<Secret ID (Passwort)>;;DE;;<eduPersonPrincipalName>;<Common Name> 
 +</code> 
 +Als Beispiel: 
 +<code> 
 +Erika;;Musterfrau;musterfrau@dfn-cert.de;;High;Example GmbH;;AL07rQCsofFQfrJqqmAn;;DE;;musterfau@example.org;Erika Musterfrau 
 +</code>
  
-Unter dem Punkt ☰->Certificates->Client Certificates kann man ausschließlich bereits ausgegebene Zertifikate einsehen und gegebenenfalls sperren. 
  
 +3. Nachdem Personen angelegt wurden, gibt es zwei verschiedene Möglichkeiten:
 +  * Entweder eine Email Invitation aus dem System heraus versenden:
 +      * Die Person unterhalb von ☰->Persons mit der Checkbox vor dem Namen auswählen.
 +      * Mit dem Button "Edit" erscheint ein weiterer Dialog, der unter dem Reiter "Enrollment Invitation" hinter Invitations wieder ein "+"-Symbol enthält, mit dem man einen Dialog zum Versenden einer E-Mail-Einladung öffnen kann.
 +      * Dabei genau den "Enrollment Endpoint" aus der Drop-Down-Liste auswählen, in dem Sie oben  den ''Account'' angelegt haben und dann eben diesen angelegten Account auswählen. **Hinweis:** Die Liste der angezeigten Enrollment Endpoints umfasst zur Zeit leider auch fremde Endpoints anderer Einrichtungen. Dieser Bug ist Sectigo bereits bekannt.
 +      * Abschließend auf den "Send"-Button klicken, um die Einladungs-E-Mail zu versenden.
 +      * Mit der Einladungs-E-Mail kann die Person direkt mit einem Klick das Zertifikat beziehen. 
 +  * Oder aber die URL des Enrollment Forms an die Personen auf anderem Wege weiterleiten. (URL selbst definiert in Schritt 1, ''%%https://cert-manager.com/customer/DFN/smime/<URI Extension>%%'')
 +      * Mit der URL kann die Person nach einer E-Mail-Challenge direkt das Zertifikat beziehen. 
 + 
  
-**Bitte richten Sie unter Ihren ''Enrollment Forms'' vom Typ ''Client certificate self-enrollment form'' keine Accounts mit der "Authorization method" ''Access Code'' ein.** Die Nutzenden können bei diesem Antragsweg beliebige Vor- und Nachnamen angeben, die dann ohne Verifikation durch Sie in das Zertifikat übernommen werden. Es wird lediglich die E-Mail-Adresse überprüft, bevor das Zertifikat automatisch ausgestellt wird. Der korrekte Weg für den Bezug von Nutzerzertifikaten in TCS führt über die AAI oder E-Mail-Einladungen aus ☰->Persons heraus.+Bitte beachten Sie die Identifizierungsvoraussetzungen, bevor Sie Personen anlegen: [[de:dfnpki:tcsfaq#identifizierung_und_dokumentation|Identifizierung und Dokumentation]].
  
  
-===Schlüsselhinterlegung bei Nutzerzertifikaten===+Hinweise zur [[de:dfnpki:tcsfaq#auswahl_des_verschluesselungsalgorithmus_fuer_p12-dateien_pkcs_12|Auswahl und Problematik des Verschlüsselungsalgorithmus]] durch die beantragende Person für ggf. über das Zertifikatantragsformular erzeugte .p12-Dateien (PKCS#12).
  
-Für den Antragsweg "E-Mail-Einladung" ist es in bestimmten Konstellationen möglich, Key Escrow zu konfigurieren.+==Erneuerung==
  
-**Wir empfehlen dringend, auf diese Möglichkeit zu verzichten. Der Key Escrow Mechanismus funktioniert nur mit einer eingeschränkten Auswahl an Antragswegen, und wird von Sectigo selbst als "Legacy" bezeichnet.**+Über die selbst definierte URL des Enrollment Forms können Zertifikate jederzeit erneut beantragt werden.
  
-Bei der Einrichtung eines Departments kann ausgewählt werden, ob eine Schlüsselhinterlegung stattfinden soll. Wenn ja, muss vor dem Ausstellen von Nutzerzertifikaten von dem Department durch die Rolle DRAO ein Master Encryption Key erzeugt werden (Nutzen Sie hierzu ☰->Settings->Legacy Key Encryption). 
  
-Die privaten Schlüssel der Nutzer werden dann an diesen Master Encryption Key verschlüsselt.+===Über die AAI===
  
-Ein DRAO kann private Schlüssel von Nutzern wiederherstellen, indem der Master Encryption Key beim Wiederherstellungsprozess per Hand in ein entspr. Formular in cert-manager eingegeben wird. Zertifikate, deren Schlüssel so wiederhergestellt wurden, werden automatisch gesperrt.+Unter der URL https://cert-manager.com/customer/DFN/idp/clientgeant können Nutzerzertifikate direkt per AAI-Login bezogen werden. Die Zertifikate werden automatisiert ohne Einwirkung eines RAO oder DRAO ausgestellt.
  
-Achtung: Dies ist nur in diesem Antragsweg "E-Mail-Einladung" möglich, und nicht bei den Zertifikaten, die über die AAI oder einen der anderen Abläufe erstellt wurden. 
  
 +Um https://cert-manager.com/customer/DFN/idp/clientgeant nutzen zu können, sind vorbereitende Konfigurationsarbeiten notwendig. Diese erfordern zwingend die Mithilfe Ihrer AAI-Administration, da in der Regel die Attributfreigaben anzupassen sind und für berechtigte Personen ein Entitlement gesetzt werden muss.
 +
 +Die folgenden Voraussetzungen müssen erfüllt sein:
 +  * Grundkonfiguration siehe  [[de:dfnpki:tcsfaq#zugriff_per_aai|Zugriff per AAI]]
 +  * Ihr Identity-Provider muss alle Attribute wie in folgender Beschreibung von GÉANT freigeben: [[https://wiki.geant.org/display/TCSNT/TCS+2020+FAQ#TCS2020FAQ-TouseSAMLinordertoallowuserstoorderclientcertificates:]]
 +  * Ein Konfigurationsbeispiel für Ihren Identity-Provider finden Sie unter: [[de:shibidp:config-attributes-tcs?s[]=cert&s[]=manager]]
 +  * Insbesondere muss ein eduPersonEntitlement ''urn:mace:terena.org:tcs:personal-user'' gesetzt werden. Bitte beachten Sie die Identifizierungsvoraussetzungen, bevor Sie das Entitlement setzen: [[de:dfnpki:tcsfaq#identifizierung_und_dokumentation|Identifizierung und Dokumentation]].
 +     * Die Fehlermeldung ''You are not allowed to self enroll.'' ist ein Symptom für ein nicht übertragenes eduPersonEntitlement ''urn:mace:terena.org:tcs:personal-user''. Der [[de:dfnpki:tcsfaq#tests|SSOcheck]] gibt Auskunft, welche Attribute tatsächlich an TCS übertragen werden.
  
-===Über die AAI=== 
  
-Unter der URL https://cert-manager.com/customer/DFN/idp/clientgeant können Nutzerzertifikate direkt per AAI-Login bezogen werden. Die Zertifikate werden automatisiert ohne Einwirkung eines RAO oder DRAO ausgestellt. 
  
 Für die Schlüsselerzeugung im AAI-Workflow gibt es in dem angebotenen Formular eine Wahlmöglichkeit: Für die Schlüsselerzeugung im AAI-Workflow gibt es in dem angebotenen Formular eine Wahlmöglichkeit:
Zeile 369: Zeile 503:
   * oder aber vom Beantragenden vorab zusammen mit einem CSR generiert. Der erstellte CSR kann dann im Formular zur Zertifikaterstellung hochgeladen werden.   * oder aber vom Beantragenden vorab zusammen mit einem CSR generiert. Der erstellte CSR kann dann im Formular zur Zertifikaterstellung hochgeladen werden.
  
-Die Konfiguration erfordert zwingend die Mithilfe Ihrer AAI-Administration, da in der Regel die Attributfreigaben anzupassen sind und für berechtigte Personen ein Entitlement gesetzt werden muss. 
  
-Die folgenden Voraussetzungen müssen erfüllt sein: + 
-  Grundkonfiguration siehe  [[de:dfnpki:tcsfaq#zugriff_per_aai|Zugriff per AAI]] +**Achtung:** Es gibt für Client Certificates alternative Wege mit AAI-Bezug, die aber **nicht verwendet** werden sollen. (Individuelle ''Client certificate enrollment form'' mit Authentifizierung "Identity Provider")Diese Wege erlauben den Nutzenden beliebige Vor- und Nachnamen anzugebenEs wird lediglich die E-Mail-Adresse aus dem IdP übernommen, und das Zertifikat anschließend automatisch ausgestellt. Sie haben keine Möglichkeit, Vorund Nachnamen vor Ausstellung zu verifizieren. 
-  Ihr Identity-Provider muss alle Attribute wie in folgender Beschreibung von GÉANT freigeben: [[https://wiki.geant.org/display/TCSNT/TCS+2020+FAQ#TCS2020FAQ-TouseSAMLinordertoallowuserstoorderclientcertificates:]] + 
-  * Ein Konfigurationsbeispiel für Ihren Identity-Provider finden Sie unter: [[de:shibidp:config-attributes-tcs?s[]=cert&s[]=manager]] +Der korrekte Weg zu Client Certificates mit der AAI ist über  https://cert-manager.com/customer/DFN/idp/clientgeant 
-  * Insbesondere muss ein eduPersonEntitlement ''urn:mace:terena.org:tcs:personal-user'' gesetzt werdenBitte beachten Sie die Identifizierungsvoraussetzungen, bevor Sie das Entitlement setzen:[[de:dfnpki:tcsfaq#identifizierung_und_dokumentation|Identifizierung und Dokumentation]]. + 
-  Alternativer ''displayName'' aus dem IdPWenn der IdP keinen verwendbaren ''displayName'' liefert und die Werte nicht korrigiert werden können oder sollen, so kann ein eigenes Attribut unter dem entsprechenden SAML2-Namen ''urn:oid:2.16.840.1.113730.3.1.241'' bereitgestellt werden, hier am Beispiel von Shibboleth:+Hinweise zur [[de:dfnpki:tcsfaq#auswahl_des_verschluesselungsalgorithmus_fuer_p12-dateien_pkcs_12|Auswahl und Problematik des Verschlüsselungsalgorithmus]] durch die beantragende Person für ggf. über das Zertifikatantragsformular erzeugte .p12-Dateien (PKCS#12)
 + 
 +==Erneuerung== 
 + 
 +Über https://cert-manager.com/customer/DFN/idp/clientgeant können Zertifikate jederzeit erneut beantragt werden. 
 + 
 + 
 +== Alternativer ''displayName'' aus dem IdP == 
 + 
 +Wenn der IdP keinen verwendbaren ''displayName'' liefert und die Werte nicht korrigiert werden können oder sollen, so kann ein eigenes Attribut unter dem entsprechenden SAML2-Namen ''urn:oid:2.16.840.1.113730.3.1.241'' bereitgestellt werden, hier am Beispiel von Shibboleth:
     - In ''attribute-resolver.xml'' ein eigenes neues Attribut definieren (mit einer eigenen ''id''), z.B. ''id=″displayName2″'' vom ''xsi:type=″Template″'', siehe [[https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1265631563/TemplateAttributeDefinition]]     - In ''attribute-resolver.xml'' ein eigenes neues Attribut definieren (mit einer eigenen ''id''), z.B. ''id=″displayName2″'' vom ''xsi:type=″Template″'', siehe [[https://shibboleth.atlassian.net/wiki/spaces/IDP4/pages/1265631563/TemplateAttributeDefinition]]
     - Attribut ''displayName2'' in der Datei ''attribute-filter.xml'' für Sectigo freigeben (statt ''displayName'')     - Attribut ''displayName2'' in der Datei ''attribute-filter.xml'' für Sectigo freigeben (statt ''displayName'')
     - In ''/opt/shibboleth-idp/conf/attributes/'' aus ''inetOrgPerson.xml'' die Bean-Definition für ''<prop key=″id″>displayName</prop>'' kopieren und mit dem neuen Attributnamen ''displayName2'' z.B. in ''default-rules.xml'' hinterlegen.     - In ''/opt/shibboleth-idp/conf/attributes/'' aus ''inetOrgPerson.xml'' die Bean-Definition für ''<prop key=″id″>displayName</prop>'' kopieren und mit dem neuen Attributnamen ''displayName2'' z.B. in ''default-rules.xml'' hinterlegen.
  
-**Achtung:** Unter ☰->Enrollment->Enrollment Forms gibt es die (theoretische) Option, einen individuellen ''Client Certificate SAML self-enrollment form'' Endpoint anzulegen. Dieser Weg ist nicht vorgesehen und führt nicht zum Erfolg. Hierüber ist keine Zertifikatausstellung möglich. (Fehlersymptom: "IdP is not configured properly for Client Certificate enroll.") Für die Beantragung von Nutzerzertifikaten per SAML ist **immer** der bereits vordefinierte und in eduGAIN eingebundene Enrollment EndPoint https://cert-manager.com/customer/DFN/idp/clientgeant zu verwenden. 
- 
-Achtung: Für Zertifikate, die auf diesem Wege ausgestellt werden, ist kein Key-Escrow möglich! 
  
 ===REST-API für Nutzerzertifikate=== ===REST-API für Nutzerzertifikate===
Zeile 392: Zeile 531:
  
  
-===Client Certificate Web Form=== 
  
-**Bitte richten Sie keine Accounts zur Nutzung von Web-Formularen für Nutzerzertifikate unter ☰->Enrollment->Enrollment Forms->Client Certificate Web Form ein**. Die Nutzenden können bei diesem Antragsweg beliebige Vor- und Nachnamen angeben. Es wird lediglich die E-Mail-Adresse verifiziert, und das Zertifikat anschließend automatisch ausgestellt. Sie haben keine Möglichkeit, Vor- und Nachnamen vor Ausstellung zu verifizieren. Der korrekte Weg für Nutzerzertifikate in TCS führt über die AAI oder E-Mail-Einladungen. 
  
 +====Code Signing-Zertifikate====
  
 +===E-Mail-Einladung===
 +
 +Für die Erstellung von Code Signing-Zertifikaten ist eine gewisse Vorbereitung notwendig. Insbesondere muss in einem ''Enrollment Form'' ein ''Code Signing certificate enrollment form'' angelegt werden:
 +
 +  - Im SCM unter ☰->Enrollment->Enrollment Forms
 +      - Mit dem grünen Button "+" oben rechts **ein neues** nur Ihrer Einrichtung zugehöriges Enrollment Form erzeugen
 +         - Einen sprechenden Namen vergeben, der auf Ihre Einrichtung hinweist
 +         - Als Typ "Code Signing certificate enrollment form" setzen
 +         - Im folgenden Dialog unter Tab "Details" eine URI Extension setzen oder generieren lassen. Diese URI Extension definiert die URL, unter der später Zertifikate beantragt werden kann: ''%%https://cert-manager.com/customer/DFN/cs/<URI Extension>%%''
 +         - Mit "Save" abspeichern
 +     - Oben auf "Accounts" klicken.
 +     - Im daraufhin geöffneten Popup-Fenster über mit dem grünen "+"-Button einen neuen "Code Signing Web Form Account" hinzufügen.
 +     - Einen sprechenden Namen für den Code Signing Web Form Account vergeben, der auf Ihre Einrichtung hindeutet.
 +     - Als "Organization" Ihre Einrichtung aus der Drop-Down-Liste auswählen (und ggf. auch ein Department setzen, wenn der Code Signing Web Form Account ausschließlich auf Department-Level eingerichtet werden soll).
 +     - Als Zertifikatprofile stehen ''Code Signing'' und ''GÉANT Code Signing Certificate'' sowie ''GÉANT OV Code Signing (Key Attestation) - 1 year'', ''GÉANT OV Code Signing (Key Attestation) - 2 years'' und ''GÉANT OV Code Signing (Key Attestation) - 3 years'' zur Auswahl. Das gewählte Zertifikatsprofil beeinflusst neben der Zertifikatlaufzeit insbesondere die Auslieferung bzw. Bereitstellung des Zertifikats und damit auch die Lieferzeit:
 +       - ''Code Signing'' und ''GÉANT Code Signing Certificate'': Diese beiden Zertifikatprofile unterscheiden sich in keinem Praxis-relevanten Aspekt. Im GÉANT-Profil wird als O=-Attribut der "Secondary Organization Name" verwendet (siehe ☰->Organizations-><Auswahl>->✎). Die Code Signing-Zertifikate sind für ein Jahr gültig. Sectigo erzeugt den Schlüssel und liefert diesen zusammen mit dem Zertifikat auf Hardware-Token per Versand aus. Für realistische Bearbeitungs- und Lieferzeiten aus Nordamerika haben wir aktuell keine Erfahrungswerte vorliegen. Die Kosten für Hardware-Token und Versand werden aktuell von GÉANT getragen. (Wir testen dieses Verfahren gerade aus.)
 +       - ''GÉANT OV Code Signing (**Key Attestation**) ...''-Familie: Diese Code Signing-Zertifikate sind je nach Profilauswahl ein bis drei Jahre gültig. Sectigo liefert das Zertifikat zum direkten Download aus. Für die Bearbeitungszeit haben wir aktuell keine Erfahrungswerte vorliegen. Diese Zertifikate können ausschließlich in Hardware-Token genutzt werden, die von Sectigo explizit für eine **Key Attestation** zugelassen sind, aktuell sind das Luna Network Attached HSM 7.x und YubiKey 5 FIPS Series. Für die Zertifikatbeantragung wird im Web-Zertifikatantragsformular neben einem Certificate Signing Request (CSR) im PKCS#10 PEM-Format eben die **Key Attestation** benötigt. Wie insbesondere die **Key Attestation** erstellt wird, ist im "Code Signing Guide for Partners" im Abschnitt 3.1 für Luna HSMs und im Abschnitt 3.2 für die YubiKeys dokumentiert, herunterladbar unten auf der Web-Seite [[https://sectigo.com/knowledge-base/detail/Changes-to-Sectigo-Code-Signing-Offerings/kA03l000000BoIs]]. Siehe auch unsere eigene Beschreibung im folgenden Kapitel.
 +     - Gewünschtes Zertifikatprofil aus der Drop-Down-Liste auswählen. 
 +     - Als "CSR Generation Method" den Wert "Sectigo Shipped FIPS certified USB Token/Key" (nur ''Code Signing'' und ''GÉANT Code Signing Certificate'') bzw. "Provided by user" (nur ''GÉANT OV Code Signing (**Key Attestation**) ...''-Familie) auswählen.
 +     - Mit "Save" abspeichern.
 +
 +Bitte keine fremden ''Enrollment Forms'' löschen!
 +
 +Alte Enrollment Forms und darin bestehende Code Signing Web Form Accounts sollten nur nach sorgfältiger Abwägung gelöscht werden, da diese unter ihrer URL noch Selbstverwaltungsmöglichkeiten (insb. Sperrung) der bereits unter diesen Enrollment Forms und Account ausgestellten Code Signing-Zertifikate bieten.
 +
 +Dann zum manuellen Auslösen der einzelnen Einladungs-Mails durch (D)RAOs unterhalb von ☰->Certificates->Code Signing Certificates:
 +
 +  - Mit dem "Invitations"-Button oben rechts wird ein Popup-Fenster mit einer Übersicht über die ausstehenden Einladungen für die Beantragung von Code Signing-Zertifikaten angezeigt.
 +  - Mit dem grünen "+"-Button in dem Popup-Fenster kann eine einzelne Person (bestimmt durch eine E-Mail-Adresse) zur Beantragung eines Code Signing-Zertifikats per E-Mail eingeladen werden.
 +    - Es muss die E-Mail-Adresse angegeben werden, an die die Einladungs-E-Mail verschickt wird.
 +    - Es muss der "Enrollment Endpoint" ausgewählt werden, der im obigen Schritt angelegt worden ist. **Hinweis**: Die Liste der angezeigten Enrollment Endpoints kann zur Zeit unter Umständen leider auch fremde Endpoints anderer Einrichtungen enthalten.
 +    - Es muss einer der vorher von der Einrichtung/Department angelegten "Code Signing Web Form Accounts" ausgewählt werden.
 +    - Abschließend auf den "Send"-Button klicken, um die Einladungs-E-Mail zu versenden.
 +
 +Die eingegangenen Zertifikatanträge für Code Signing-Zertifikate bzw. die ausgestellten Code Signing-Zertifikate sind im SCM unterhalb von ☰->Certificates->Code Signing Certificates sichtbar und werden automatisch von Sectigo bearbeitet.
 +
 +===Erzeugen einer Key Attestation mit Yubikey FIPS===
 +
 +Für die Beantragung von Code Signing Zertifikaten auf einem selbst beschafften Yubikey FIPS muss wie folgt vorgegangen werden:
 +
 +0. Bei der Beschaffung: Unbedingt die Variante Yubikey 5 **FIPS** wählen. Yubikeys ohne den Zusatz FIPS können die erforderliche Key Attestation nicht erzeugen.
 +
 +1. Yubikey vorbereiten:
 +  * ggf PIV anschalten
 +  * PIN setzen. Achtung: Es gibt Werkzeuge, die das Setzen von PINs mit einer Länge von mehr als 8 Zeichen erlauben. Diese werden von der PKCS11-Library ykcs11 *nicht* unterstützt, dort funktionieren nur PINs mit 6-8 Zeichen.
 +  * Default PIV Management Key vom Default 010203040506070801020304050607080102030405060708 auf was "richtiges" umsetzen
 +  * PUK setzen.
 +
 +2. Schlüssel erzeugen und den öffentlichen Teil in eine Datei ausgeben:
 +<code>
 +yubico-piv-tool -a generate --slot=9c -k -A ECCP384 -o PublicKeyFile.key
 +</code>
 +
 +3. CSR erzeugen und in eine Datei ausgeben:
 +<code>
 +yubico-piv-tool -a verify-pin -a request-certificate --slot=9c  -i PublicKeyFile.key -S <subject dn> -o request.csr
 +</code>
 +
 +(-S <subject_dn> mit Slash am Ende, z.B. -S "/CN=Jane Doe/")
 +
 +4. Key Attestation erzeugen:
 +<code>
 +yubico-piv-tool --action=attest --slot=9c > Slot9cAttestation.pem
 +</code>
 +(funktioniert nur für Onboard erzeugte Keys, nicht für importierte) 
 +
 +5. Intermediate aus dem Yubikey auslesen
 +<code>
 +yubico-piv-tool --action=read-certificate --slot=f9 > intermediate.pem
 +</code>
 +
 +6. Attestation-Bundle für Sectigo Webinterface erzeugen
 +<code>
 +cat Slot9cAttestation.pem intermediate.pem > attestation_bundle.pem
 +base64 -w 64 attestation_bundle.pem > attestation_bundle.b64
 +</code>
 +Oder Windows: 
 +<code>
 +type Slot9aAttestation.pem intermediate.pem > attestation.pem
 +certutil -encode attestation.pem attestation_bundle.pem
 +findstr /v CERTIFICATE attestation_bundle.pem > attestation_bundle.b64
 +</code>
 +
 +
 +7. Antrag stellen:
 +  * Die Datei request.csr aus Schritt 3 als CSR in das Formular eingeben
 +  * Den Inhalt der Datei attestation_bundle.b64 aus Schritt 6 in das Feld "Key Attestation" eingeben
 +
 +8. Sectigo stellt das Zertifikat aus
 +
 +9. Aufspielen der von Sectigo gelieferten Zertifikatdatei aus dem Link "as Certificate only, PEM encoded:" auf den Yubikey, z.B. mit dem YubiKey Manager
 +
 +===Code Signing mit Yubikey FIPS===
 +
 +**Windows:** Anleitung von Yubico für Windows Code Signing: https://support.yubico.com/hc/en-us/articles/360016614840-Code-Signing-with-the-YubiKey-on-Windows
 +
 +**Java-Code:** Signieren von Java-Code mit jarsigner: 
 +  * Installation der Yubico PKCS#11-Library "ykcs11"
 +  * Abspeichern des von Sectigo gelieferten Zertifikats per Link aus der Auslieferungs-E-Mail "as Certificate (w/ issuer after)" als Datei "certchain.pem"
 +  * Datei ykcs11.conf anlegen mit Inhalt:
 +<code>
 +name = ykcs11
 +library = <Pfad zur libykcs11.so>
 +</code>
 +   * Signieren per Aufruf:
 +<code>
 +jarsigner -keystore NONE -certchain certchain.pem -storetype PKCS11 -providerClass sun.security.pkcs11.SunPKCS11 -providerArg  ykcs11.conf <Zu signierende JAR>  "X.509 Certificate for Digital Signature"
 +</code>
  
 =====Zertifikattypen===== =====Zertifikattypen=====
Zeile 402: Zeile 648:
 ====ECC oder RSA?==== ====ECC oder RSA?====
  
-Bei Serverzertifikaten ist der Algorithmus entsprechend den Fähigkeiten der Server-Software zu wählen. In den meisten Fällen wird heutzutage ECC genutzt werden können.+Bei Serverzertifikaten ist der Algorithmus entsprechend den Fähigkeiten der Server-Software zu wählen. In den meisten Fällen wird heutzutage ECC genutzt werden können. Benutzen Sie auf jeden Fall das unkomprimierte EC-Schlüsselformat (z.B. ''openssl''-Option ''-conv_form uncompressed'', was auch eigentlich die Default-Einstellung von ''openssl'' ist).
  
 Bei Nutzerzertifikaten ist zu beachten, dass Zertifikate mit den ECC-Schlüsseltypen P-384 und P-256 nur für Signatur und Authentisierung, aber nicht für Verschlüsselung verwendet werden können. Bei Nutzerzertifikaten ist zu beachten, dass Zertifikate mit den ECC-Schlüsseltypen P-384 und P-256 nur für Signatur und Authentisierung, aber nicht für Verschlüsselung verwendet werden können.
  
 ====Profile für Serverzertifikate==== ====Profile für Serverzertifikate====
-Die Serverzertifikate aus TCS enthalten sowohl den Zertifikatzweck ''serverAuth'' als auch ''clientAuth''. Es können also prinzipiell alle Zwecke mit dem Standard-Zertifikatprofil abgedeckt werden. Nicht verfügbar sind die Funktionalitäten aus den folgenden Profilen der DFN-PKI Global : ''Webserver mustStaple'', ''DomainController'' und ''Exchange Server''+Die Serverzertifikate aus TCS enthalten sowohl den Zertifikatzweck ''serverAuth'' als auch ''clientAuth''. Es können also prinzipiell alle Zwecke mit dem Standard-Zertifikatprofil abgedeckt werden.
  
 Dies gilt für alle Profile  (OV Multi-Domain, OV SSL, usw.) und alle Bezugswege (cert-manager, auch ACME). Dies gilt für alle Profile  (OV Multi-Domain, OV SSL, usw.) und alle Bezugswege (cert-manager, auch ACME).
  
-Wählen Sie auf keinen Fall das Profil EV Anchor, es sei denn, Sie wollen den speziellen EV-Prozess starten.+Wählen Sie auf keinen Fall das Zertifikatprofil ''EV Anchor'', es sei denn, Sie wollen den [[de:dfnpki:tcsfaq#extended_validation_zertifikate_ev|speziellen EV-Prozess]] starten
 + 
 +**Nicht verfügbar** sind die Funktionalitäten aus den folgenden Profilen der DFN-PKI Global: ''Webserver mustStaple'', ''DomainController'' und ''Exchange Server''. Sofern für einen Exchange-Server oder Domänen-Controller //zusätzliche// Zertifikatzwecke (''extendedKeyUsage'' bzw. andere Zertifikaterweiterungen) außer ''serverAuth'' und ''clientAuth'' zwingend benötigt werden, können Sie auf die Zertifikate aus der ''[[https://www.pki.dfn.de/dfn-verein-community-pki|DFN-Verein Community PKI]]'' zurückgreifen, die allerdings ohne Browser- und Betriebssystemverankerung daherkommen. 
 + 
 + 
 +[[de:dfnpki:tcsfaq#ip-adressen_in_zertifikaten|IP-Adressen können in Serverzertifikate aus TCS aufgenommen werden.]] 
 + 
 +====Signaturalgorithmen in Serverzertifikaten mit RSA-Schlüsseln (sha256WithRSAEncryption, sha384WithRSAEncryption)==== 
 + 
 +Sofern Serverzertifikate mit einen RSA-Schlüssel beantragt werden, werden diese standardmäßig mit dem Signaturalgorithmus ''sha384WithRSAEncryption'' signiert. Das betrifft u.a. das Zertifikatprofil ''OV Multi Domain''. Es gibt keine explizite Möglichkeit, den Signaturalgorithmus' für ein Zertifikat zu beeinflussen.
  
-IP-Adressen können nicht in Serverzertifikate aus TCS aufgenommen werden. Die Antragswege über Webformulare ergeben Fehlermeldungen. Beim Einreichen eines Requests mit einer IP-Adresse im SubjectAlternativeName wird diese stillschweigend herausgefiltert.+Falls aus technischen Gründen für ein RSA-basiertes Serverzertifikat der Signaturalgorithmus ''sha256WithRSAEncryption'' zwingend erforderlich ist, kann dieses mittels [[de:dfnpki:tcsfaq#acme|ACME]] im Endpunkt "OV" beantragt werden. Per ACME im Endpunkt "OV" ausgestellte Serverzertifikate mit RSA-Schlüsseln werden aktuell mit dem Signaturalgorithmus ''sha256WithRSAEncryption'' signiert.
  
 +(**Achtung:** Wirklich nur Endpunkt "OV". Der Endpunkt "GEANTOV" arbeitet mit ''sha384WithRSAEncryption''.)
  
 ====OV SSL oder OV Multi Domain?==== ====OV SSL oder OV Multi Domain?====
Zeile 437: Zeile 693:
 ====VoIP-Zertifikate für DFNFernsprechen==== ====VoIP-Zertifikate für DFNFernsprechen====
  
-GÉANT TCS funktioniert zur Zeit noch nicht für die Verschlüsselung von VoIP-Anschlüssen im Rahmen von DFNFernsprechen, da die TCS-Wurzelzertifikate auf den SBCs nicht akzeptiert werden. Dort sind unverändert Zertifikate aus der DFN-PKI Global erforderlich. +GÉANT TCS Zertifikate sind **nicht** für die Verschlüsselung von VoIP-Anschlüssen im Rahmen von DFNFernsprechen vorgesehen.
-https://www2.dfn.de/dienstleistungen/dfnfernsprechen/voip/verschluesselung+
  
 +Die SBCs des DFNFernsprechen-Dienstleisters akzeptieren sowohl Zertifikate aus der DFN-PKI Global als auch Zertifikate aus der **DFN-Verein Community PKI**, siehe https://www2.dfn.de/dienstleistungen/dfnfernsprechen/voip/verschluesselung
  
 ====Extended Validation Zertifikate (EV)==== ====Extended Validation Zertifikate (EV)====
Zeile 471: Zeile 727:
 Zusätzlich kennt das System eine Beschränkung der Anzahl der gleichzeitig gültigen Nutzerzertifikate pro Person und Zertifikatprofil: Zusätzlich kennt das System eine Beschränkung der Anzahl der gleichzeitig gültigen Nutzerzertifikate pro Person und Zertifikatprofil:
  
-Pro Person können maximal zwei Zertifikate je Zertifikatprofil GEANT Personal, GEANT IGTF-MICS und GEANT IGTF-MICS-Robot Personal erstellt werden.+Pro Person können maximal fünf Zertifikate je Zertifikatprofil GEANT Personal, GEANT IGTF-MICS und GEANT IGTF-MICS-Robot Personal erstellt werden.
  
 Wenn für ein Zertifikatprofil weitere Zertifikate beantragt werden, werden die jeweils ältesten Zertifikate mit diesem Zertifikatprofil automatisch **gesperrt**. Auch hier erfolgt keine Rückfrage und es gibt keinen Hinweis an den Zertifikatinhaber! Wenn für ein Zertifikatprofil weitere Zertifikate beantragt werden, werden die jeweils ältesten Zertifikate mit diesem Zertifikatprofil automatisch **gesperrt**. Auch hier erfolgt keine Rückfrage und es gibt keinen Hinweis an den Zertifikatinhaber!
 +
 +====Auswahl des Verschlüsselungsalgorithmus für .p12-Dateien (PKCS#12)====
 +
 +Sofern bei der Beantragung von Nutzerzertifikaten die Schlüsselerzeugung durch TCS (entweder direkt im Browser der Antrags-Web-Seiten oder auf dem Server des TCS-Dienstleisters) ausgeführt wird, kann die das Zertifikat beantragende Person aus einer Drop-Down-Liste das kryptografische Verfahren zur Sicherung des privaten Schlüssels (''Choose key protection algorithm'') in der dabei vom System erzeugten herunterzuladenen .p12-Datei auswählen. Vorausgewählt ist dabei die modernere und sicherere Methode ''Secure AES256-SHA256'', alternativ steht auch die zu älteren Systemen kompatible Methode ''Compatible TripleDES-SHA1'' zur Auswahl.
 +
 +Auf einigen Systemen (z.B. Windows, iOS) kann es dann später beim Import einer mittels ''Secure AES256-SHA256'' gesicherten .p12-Datei zu Fehlern wie z.B. "//Das eingegebene Kennwort ist falsch.//", "//Fehler im zugrunde liegenden Sicherheitssystem. Ungültigen Anbietertyp angegeben//", der Aufforderung zum Einstecken einer Smartcard und ähnlichen Fehlermeldungen kommen.
 +
 +In so einem Fehlerfall hilft es, die betroffene .p12-Datei zunächst in den Zertifikat-Manager  (unter dem Karteireiter ''Ihre Zertifikate'') vom Firefox-Browser zu importieren und dann von dort direkt wieder in eine //neue// .p12-Datei zu exportieren. Sofern das Nutzerzertifikat nicht ebenfalls im Firefox zur SSL-Client-Authentisierung genutzt werden soll, sollte dieses dann aus dem Zertifikat-Manager von Firefox wieder gelöscht werden. Die neue .p12-Datei ist dann nach unserer Erfahrung problemlos in die betroffenen Systeme zu importieren. Alternativ zu dieser Konvertierung der .p12-Datei kann auch ein neues Zertifikat beantragt werden, wobei dann bereits bei der Beantragung auf den Antrags-Web-Seiten die ''Choose key protection algorithm''-Methode ''Compatible TripleDES-SHA1'' ausgewählt werden muss.
 +
 +Die organisations-spezifische Dokumentation und Anleitung zur Nutzerzertifikatbeantragung sollte ggf. einen Hinweis auf diese möglichen Inkompatibilitäten enthalten.
 +
 ====Code Signing==== ====Code Signing====
  
 === Code Signing über cert-manager === === Code Signing über cert-manager ===
  
-Die über die Oberfläche beziehbaren Code-Signing Zertifikate sind für die Signatur von Java JARs & MS Office Macros verwendbar.+Die über die Oberfläche beziehbaren CodeSigning-Zertifikate sind für die Signatur von Java JARs & MS Office Macros verwendbar.
  
-Die Zertifikatprofile ''Code Signing'' und ''GÉANT Code Signing'' unterscheiden sich in keinem Praxis-relevanten Aspekt. Im GÉANT-Profil wird als O=-Attribut der "Secondary Organization Name" verwendet (siehe ☰->Organizations-><Auswahl>->Edit->🖉).+Die [[de:dfnpki:tcsfaq#code_signing-zertifikate|Beantragung von CodeSigning-Zertifikaten wird über individuelle Einladungs-E-Mails]] eingeleitet.
  
 === EV Code Signing === === EV Code Signing ===
Zeile 491: Zeile 758:
 ===Rechtliche Grundlagen=== ===Rechtliche Grundlagen===
 Erläuterungen zu dem rechtlichen Aspekt finden Sie unter: [[de:dfnpki:sigsie_faq|Rechtliche Grundlagen elektronischer Signaturen]] Erläuterungen zu dem rechtlichen Aspekt finden Sie unter: [[de:dfnpki:sigsie_faq|Rechtliche Grundlagen elektronischer Signaturen]]
 +
 +Eine Präsentation ist verfügbar unter: {{ :de:dfnpki:dokumentensignatur_2022.pdf |Technische und rechtliche Aspekte bei Dokumentensignaturen}}
 +
 ===Tauglichkeit normaler Nutzerzertifikate=== ===Tauglichkeit normaler Nutzerzertifikate===
 Document Signing, z.B. in Adobe, ist mit den normalen Nutzerzertifikaten zwar technisch möglich, es müssen aber recht hohe Hürden überwunden werden. Insbesondere sind bei den Prüfern der Signaturen spezielle Einstellungen zu treffen, um die Vertrauenswürdigkeit der Signaturen darzustellen. Document Signing, z.B. in Adobe, ist mit den normalen Nutzerzertifikaten zwar technisch möglich, es müssen aber recht hohe Hürden überwunden werden. Insbesondere sind bei den Prüfern der Signaturen spezielle Einstellungen zu treffen, um die Vertrauenswürdigkeit der Signaturen darzustellen.
  
-Eine sehr detaillierte Anleitung wird von der Universität Münster zur Verfügung gestellt: https://www.uni-muenster.de/WWUCA/de/howto-setup-acroread.html+Eine sehr detaillierte Anleitung wird von der Universität Münster zur Verfügung gestellt: https://www.uni-muenster.de/CA/de/howto-setup-acroread.html
  
 Diese Einstellungen müssen von jeder Person vorgenommen werden, die die Signaturen prüfen soll. Diese Einstellungen müssen von jeder Person vorgenommen werden, die die Signaturen prüfen soll.
Zeile 541: Zeile 811:
   * Im neuen Dialog Reiter "Enrollment Invitations" anwählen   * Im neuen Dialog Reiter "Enrollment Invitations" anwählen
   * Dort hinter "Invitations" das "+"-Symbol betätigen   * Dort hinter "Invitations" das "+"-Symbol betätigen
-  * Als Enrollment Form auswählen: ''DFN-wide Default Client Certificate Self-Enrollment Form'' +  * Das gewünschte ''Enrollment Form auswählen'', das im ersten Schritt angelegt wurde ([[de:dfnpki:tcsfaq#e-mail-einladung|Nutzerzertifikatbeantragung mittels E-Mail-Einladung]]). 
-  * Dann den im Schritt [[de:dfnpki:tcsfaq#e-mail-einladung|Nutzerzertifikatbeantragung mittels E-Mail-Einladung]] vorbereiteten ''Account'' auswählen+  * Dann den im ersten Schritt vorbereiteten ''Account'' auswählen.
   * An die eingetragene E-Mail-Adresse wird nun eine Einladungs-Mail geschickt, und das Zertifikat kann von der für die Gruppe verantwortlichen Person erstellt werden.    * An die eingetragene E-Mail-Adresse wird nun eine Einladungs-Mail geschickt, und das Zertifikat kann von der für die Gruppe verantwortlichen Person erstellt werden. 
  
Zeile 548: Zeile 818:
  
 Die uns bekannten Root- und CA-Zertifikate in TCS sind dokumentiert unter: [[de:dfnpki:tcs_ca_certs|TCS CA-Zertifikate]] Die uns bekannten Root- und CA-Zertifikate in TCS sind dokumentiert unter: [[de:dfnpki:tcs_ca_certs|TCS CA-Zertifikate]]
 +
 +====SCM-Download-Formate für Zertifikate====
 +
 +SCM und Zertifikat-E-Mails bieten mehrere Download-Formate für die Zertifikate an:
 +
 +   - Server-Zertifikate:
 +      - ''as Certificate only, PEM encoded'' enthält ausschließlich das Server-Zertifikat im PEM-Format (''–––––BEGIN CERTIFICATE––––– [...] –––––END CERTIFICATE–––––'').
 +      - ''as Certificate (w/ issuer after), PEM encoded'' enthält als erstes das Server-Zertifikat, dann das Issuing-CA-Zertifikat und dann weitere Intermediate-CA-Zertifikate der CA-Kette, allerdings nicht das Root-CA-Zertifikat, alle Zertifikate jeweils für sich im PEM-Format (''–––––BEGIN CERTIFICATE––––– [...] –––––END CERTIFICATE–––––''). Dieses Format kann gut für die Konfiguration von z.B. **Apache-** und **Nginx-Web-Servern** verwendet werden.
 +      - ''as Certificate (w/ chain), PEM encoded'' enthält als erstes das Root-CA-Zertifikat, es folgen die Intermediate-CA-Zertifikate, das Issuing-CA-Zertifikat der CA-Kette und als letztes das Server-Zertifikat, alle Zertifikate jeweils für sich im PEM-Format (''–––––BEGIN CERTIFICATE––––– [...] –––––END CERTIFICATE–––––'').
 +      - ''as PKCS#7'' enthält eine binäre PKCS#7-Struktur, bestehend aus als erstes dem Server-Zertifikat, dann dem Issuing-CA-Zertifikat und dann weitere Intermediate-CA-Zertifikate der CA-Kette und am Ende dem Root-CA-Zertifikat. Dieses Format kann gut für die Konfiguration von z.B. **Microsoft IIS-Web-Servern** verwendet werden.
 +      - ''PKCS#7, PEM encoded'' enthält eine PEM-formatierte PKCS#7-Struktur, bestehend aus als erstes dem Server-Zertifikat, dann dem Issuing-CA-Zertifikat und dann weitere Intermediate-CA-Zertifikate der CA-Kette und am Ende dem Root-CA-Zertifikat.
 +
 +   - CA-Zertifikate:
 +      - ''as Root/Intermediate(s) only, PEM encoded'' enthält die CA-Zertifikatskette (ohne das Server-Zertifikat) von der Root-CA (zuerst) bis hin zur Issuing-CA des Server-Zertifikats, alle Zertifikate jeweils für sich im PEM-Format (''–––––BEGIN CERTIFICATE––––– [...] –––––END CERTIFICATE–––––'').
 +      - ''as Intermediate(s)/Root only, PEM encoded'' enthält die CA-Zertifikatskette (ohne das Server-Zertifikat) von der Issuing-CA des Server-Zertifikats (zuerst) bis hin zum Root-CA-Zertifikat, alle Zertifikate jeweils für sich im PEM-Format (''–––––BEGIN CERTIFICATE––––– [...] –––––END CERTIFICATE–––––'').
  
 =====Identifizierung und Dokumentation===== =====Identifizierung und Dokumentation=====
Zeile 572: Zeile 857:
 Allerdings lässt sich bei den in TCS angebotenen Formularen zur Beantragung in der Regel nicht verhindern, dass Personen GÉANT IGTF-Zertifikate beantragen. Dies bedeutet, dass Sie in der Praxis immer die höheren Anforderungen nach IGTF erfüllen sollten. Allerdings lässt sich bei den in TCS angebotenen Formularen zur Beantragung in der Regel nicht verhindern, dass Personen GÉANT IGTF-Zertifikate beantragen. Dies bedeutet, dass Sie in der Praxis immer die höheren Anforderungen nach IGTF erfüllen sollten.
  
-==== Vergleich mit DFN-AAI Advanced ====+==== Vergleich mit DFN-AAI ====
  
-Die Regeln der DFN-AAI Advanced (https://doku.tid.dfn.de/de:degrees_of_reliance) und die Regeln zur Identifizierung von Personen in TCS sind nicht deckungsgleich.+Die Regeln zur [[de:aai:assurance|Identity Assurance in der DFN-AAI]] und die Regeln zur Identifizierung von Personen in TCS sind nicht deckungsgleich.
  
-Insbesondere lässt die DFN-AAI Advanced "etablierte Einschreibungs- und Einstellungsprozesse" zu. Ob die an Ihrer Einrichtung praktizierten Verfahren im Rahmen der DFN-AAI Advanced den oben genannten Regeln von GÉANT TCS genügen, kann darum nicht pauschal beantwortet werden, sondern muss von Ihnen bewertet werden.+In der DFN-AAI gilt das [[https://wiki.refeds.org/display/ASS/REFEDS+Assurance+Framework+ver+1.0|REFEDS Assurance Framework]] mit seinen verschiedenen Einstufungen. Ob die an Ihrer Einrichtung praktizierten Verfahren im Rahmen der DFN-AAI den oben genannten Regeln von GÉANT TCS genügen, kann darum nicht pauschal beantwortet werden, sondern muss von Ihnen bewertet werden.
  
 Vor einer gründlichen Prüfung der internen Prozesse sollten darum auf keinen Fall pauschal alle Personen in Ihrem IdP für den Zertifikatbezug freigeschaltet werden (Setzen des Attributs eduPersonEntitlement mit Vor einer gründlichen Prüfung der internen Prozesse sollten darum auf keinen Fall pauschal alle Personen in Ihrem IdP für den Zertifikatbezug freigeschaltet werden (Setzen des Attributs eduPersonEntitlement mit
Zeile 587: Zeile 872:
 =====ACME===== =====ACME=====
 ====ACME Clients==== ====ACME Clients====
-Da das ACME-Protokoll sehr gut standardisiert ist, können neben den in den Beispielen gezeigten ''certbot'' auch andere Clients wie ''acme.sh'' oder ''win-acme'' verwendet werden. 
  
-Einzige Voraussetzung: External Account Binding muss unterstützt werden (bei ''GetSSL'' beispielsweise mit Stand 09/2021 nur mit einem Patch).+Zum Bezug von Zertifikaten per ACME stehen eine Fülle von clients zur Verfügung. Neben dem bekannten  ''certbot'' können auch andere Clients wie ''acme.sh'' oder ''win-acme'' verwendet werden. 
 + 
 +Einzige Voraussetzung: Es muss ein Mechanismus namens "External Account Bindingunterstützt werden (bei ''GetSSL'' beispielsweise mit Stand 09/2021 nur mit einem Patch).
 ====ACME-Accounts==== ====ACME-Accounts====
  
 Zur Nutzung von ACME müssen im cert-manager.com spezielle ACME-Accounts angelegt werden. Hierzu muss unter ☰->Enrollment->ACME zu einem der ACME-Endpoints der Button Accounts betätigt werden. Dann per Button Add einen neuen Account anlegen. Zur Nutzung von ACME müssen im cert-manager.com spezielle ACME-Accounts angelegt werden. Hierzu muss unter ☰->Enrollment->ACME zu einem der ACME-Endpoints der Button Accounts betätigt werden. Dann per Button Add einen neuen Account anlegen.
- 
-**Wichtig:** Der ACME-Endpoint ''https://acme.sectigo.com/v2/DV'' ist zur Zeit nicht nutzbar! Bitte nutzen Sie  ''../v2/OV''. 
  
 Nach dem Anlegen hat ein Account zunächst den Zustand ''pending''. Sobald der Account mit einem ACME-Client verwendet wurde, wechselt er in den Zustand ''valid''. Nach dem Anlegen hat ein Account zunächst den Zustand ''pending''. Sobald der Account mit einem ACME-Client verwendet wurde, wechselt er in den Zustand ''valid''.
  
-Zustände von ACME-Accounts sind anscheinend nicht notwendigerweise komplett synchron zu Hintergrundsystemen bei Sectigo. Im Test konnte bspw. ein ACME-Account nicht direkt, sondern erst nach einer Wartezeit über Nacht gelöscht werden. 
  
 ====Domains in ACME-Accounts==== ====Domains in ACME-Accounts====
Zeile 642: Zeile 925:
  
 Eine Sperrung per Cert-Manager ist auch möglich. Der unverständliche Informationsdialog kann ignoriert werden. Eine Sperrung per Cert-Manager ist auch möglich. Der unverständliche Informationsdialog kann ignoriert werden.
 +
 +====ACME-Fehlermeldungen====
 +
 +===The identifiers are not all linked to the same preauthorized Subject organization name/address===
 +
 +Certbot meldet ''The identifiers are not all linked to the same preauthorized Subject organization name/address''. Geben Sie certbot explizit die Account-ID mit der Option ''--account ACCOUNT_ID'' mit oder räumen Sie im certbot-Verzeichnis ''/etc/letsencrypt/accounts/acme.sectigo.com'' auf und löschen Sie dort überflüssiges.
 +
 =====REST-API===== =====REST-API=====
  
Zeile 653: Zeile 943:
 Tipp: Man kann einen Account in seiner Rolle so einschränken, dass ausschließlich der REST-API-Zugang verwendet werden kann, siehe [[de:dfnpki:tcsfaq#admins_rollen_privilegien|Admins, Rollen & Privilegien]] Tipp: Man kann einen Account in seiner Rolle so einschränken, dass ausschließlich der REST-API-Zugang verwendet werden kann, siehe [[de:dfnpki:tcsfaq#admins_rollen_privilegien|Admins, Rollen & Privilegien]]
  
-Beispiel für die Beantragung von Serverzertifikaten:+Beispiel für die Beantragung von **Serverzertifikaten**:
  
 <code>curl 'https://cert-manager.com/api/ssl/v1/enroll' -i -X POST \ <code>curl 'https://cert-manager.com/api/ssl/v1/enroll' -i -X POST \
Zeile 684: Zeile 974:
 <Format> spezifiziert das Rückgabeformat, z.B. "pem", weitere mögliche Werte siehe https://sectigo.com/knowledge-base/detail/SCM-Sectigo-Certificate-Manager-REST-API/kA01N000000XDkE <Format> spezifiziert das Rückgabeformat, z.B. "pem", weitere mögliche Werte siehe https://sectigo.com/knowledge-base/detail/SCM-Sectigo-Certificate-Manager-REST-API/kA01N000000XDkE
  
-Für Nutzerzertifikate ist die Beantragung ähnlich aufgebaut. Die Aufrufe müssen an https://cert-manager.com/api/smime/v1/types, ....smime/v1/enroll und ....smime/v1/collect geschickt werden. Für weitere Details zu den Parametern ist die API-Dokumentation von Sectigo heranzuziehen.+Für **Nutzerzertifikate** ist die Beantragung ähnlich aufgebaut. Die Aufrufe müssen an ''https://cert-manager.com/api/smime/v1/types''''.../smime/v1/enroll'' und ''.../smime/v1/collect/...'' geschickt werden. Für weitere Details zu den Parametern ist die API-Dokumentation von Sectigo heranzuziehen. 
 + 
 +Beispielaufruf zur Beantragung eines Nutzerzertifikats:  
 + 
 +<code>curl 'https://cert-manager.com/api/smime/v1/enroll' -i -X POST \ 
 +    -H "Content-Type: application/json;charset=utf-8"
 +    -H "login: <account>"
 +    -H "password: <passwort>"
 +    -H "customerUri: DFN" \ 
 +    -d '{ "orgId":<OrgId>, "certType":<Nummer des Zertifikatprofils z.B. 15870>,  
 +          "email":"<e-mail-adresse>",
 +          "firstName":"<vorname>", "lastName":"<nachname>",
 +          "term":<Gültigkeit in Tagen, je Nach Zertifikatprofil entweder 365, 730 oder 1095>,
 +          ...,\ 
 +          "csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICYjCCAU...N818=\n-----END CERTIFICATE REQUEST-----"}</code>
 =====CAA-Records===== =====CAA-Records=====
  
Zeile 705: Zeile 1009:
 </code> </code>
  
 +====TCS' DNS-Resolver (CAA)====
 +
 +Für CAA nutzt TCS DNS-Resolver, die von den Quelladressen ''91.199.212.132'' oder ''91.199.212.148'' aus ankommen. (Stand 01/2023)
  
 =====Zertifikate sperren (Revoke, Revocation)===== =====Zertifikate sperren (Revoke, Revocation)=====
Zeile 718: Zeile 1025:
  
 =====Sectigo Certificate Manager (SCM)===== =====Sectigo Certificate Manager (SCM)=====
 +
 +====Automatische Benachrichtigungen (Notifications) durch den SCM====
 +
 +Im SCM können automatische Benachrichtigungen (Notifications) zu bestimmten Ereignissen konfiguriert werden. Die Textvorlagen dazu können zum Teil auf Organisations- und Department-Ebene angepasst werden.
 +
 +===Aktivieren von  Benachrichtigungen===
 +
 +  - Im SCM über ☰->Settings->Notifications->das grüne "+"-Symbol oben rechts eine Benachrichtigung hinzufügen,
 +  - dabei einen Namen für die Benachrichtigung vergeben und den Benachrichtigungstyp auswählen. Es stehen mehrere Benachrichtigungstypen zur Auswahl.
 +      - Wir empfehlen Benachrichtigungen für die Typen ''SSL Expiration'', ''Client Certificate Expiration'', ''Code Signing Certificate Expiration'' und ''DCV Expiration'' einzurichten.
 +  - Im nächsten Schritt können je nach Benachrichtigungstyp unterschiedliche (Empfangs-)Optionen definiert werden.
 +      - Falls einzelne Benachrichtigungstypen nicht sichtbar sind, liegt das daran, dass Ihr (D)RAO-Account nicht über die entsprechenden Berechtigungen verfügt.
 +      - Beim Einrichten einer ''DCV ...''-Benachrichtigung, bitte nicht die Benachrichtigung für ''Owner'' aktivieren. Die Benachrichtigung der ''Owner'' erreicht nur die MRAOs/DFN-PCA.
 +      - Sofern Funktions-E-Mail-Adressen (z.B. ein Ticket-System) benachrichtigt werden sollen, können diese über ''Additional recipients'' hinzugefügt werden.
 +
 +===Anpassen von Benachrichtigungsvorlagen===
 +
 +Benachrichtigungstexte können in den ''Notification Templates'' angepasst werden.
 +
 +Im SCM über ☰->Organisations-><Auswahl>->Button [Notification Templates]->das grüne "+"-Symbol oben rechts eine Vorlage hinzufügen. Dabei den Empfangstyp (in der Regel wohl ''Email'') und den Benachrichtigungstyp auswählen. Dann kann der Standardvorlagentext angepasst werden.
 +
 +Neben der Möglichkeit, Benachrichtigungen per E-Mail zu versenden, stehen auch ''MS Teams-'', ''Webhook-'' und ''Slack-''Mechanismen zur Auswahl.
  
 ====Tipps & Tricks==== ====Tipps & Tricks====
Zeile 741: Zeile 1070:
 =====Support===== =====Support=====
  
-Wir helfen auch bei technischen Schwierigkeiten mit den TCS-Systemen gerne weiter, z.B. per Mail: ''dfnpca@dfn-cert.de''+Wir helfen auch bei technischen Schwierigkeiten mit den TCS-Systemen gerne weiter, z.B. per Mail: [[mailto:dfnpca@dfn-cert.de|dfnpca@dfn-cert.de]]
  
-Ein direkter Kontakt mit dem Sectigo Support ist auch möglich. Das Support-Portal von Sectigo ist erreichbar unter: https://sectigo.com/support-ticket +Ein direkter Kontakt mit dem englischsprachigen Sectigo Support ist auch möglich. Das Support-Portal von Sectigo ist erreichbar unter: https://sectigo.com/support-ticket 
  
 Bitte unbedingt den folgenden Hinweis einfügen: "We are a DFN member of the GEANT TCS service, using the SCM instance https://cert-manager.com/customer/DFN." Bitte unbedingt den folgenden Hinweis einfügen: "We are a DFN member of the GEANT TCS service, using the SCM instance https://cert-manager.com/customer/DFN."
  
-Es ist zu empfehlen, vor einer Kontaktaufnahme zum Sectigo Support mit uns zu sprechen.+Es ist zu empfehlen, vor einer direkten Kontaktaufnahme zum Sectigo Support mit uns zu sprechen. 
 + 
 +===Support-Tickets für die Validierung (DCV) von IP-Adressen=== 
 +Sofern Sie ein Ticket für den speziellen [[de:dfnpki:tcsfaq#ip-adressen_in_zertifikaten|DCV-Vorgang zur Validierung von IP-Adressen]] erstellen wollen, wählen Sie bitte für das Ticket //Case type: "Technical Support"// und //Case reason: "Sectigo Certificate Manager (SCM)"// aus, damit das Ticket gleich in die korrekte Supportschlange eingestellt wird. 
 + 
 +=====E-Mail-Verteilerliste dfnpki-d===== 
 + 
 +Auf [[https://listserv.dfn.de]] ist die E-Mail-Verteilerliste mailto:dfnpki-d@listserv.dfn.de eingerichtet. Diese unmoderierte Liste soll den Austausch **unter den Teilnehmern an der DFN-PKI** befördern und die Diskussion von Problemen und die Verbreitung von Lösungsvorschlägen ermöglichen. 
 + 
 +Eine Anmeldung ist **für DFN-PKI-Teilnehmer** möglich unter [[https://www.listserv.dfn.de/sympa/info/dfnpki-d]]. 
 + 
  • Zuletzt geändert: vor 3 Monaten