Dies ist eine alte Version des Dokuments!


Auf dieser Seite stellen wir den Teilnehmern an der DFN-PKI eine FAQ-Seite zur Einführung in TCS zur Verfügung. Diese Seite wird permanent mit den Fragen der Anwender weiter entwickelt.

Diese FAQ richtet sich primär an die Teilnehmerservices an den an der DFN-PKI teilnehmenden Einrichtungen. Nicht alle hier beschriebenen Funktionen werden von allen Einrichtungen gleichermaßen umgesetzt. Falls Sie sich für den Bezug eines Zertifikats interessieren, wenden Sie sich bitte an Ihren lokalen Teilnehmerservice an Ihrer Heimateinrichtung.

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.

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.

Der TCS-Anbieter Sectigo stellt keine Testumgebung zur Verfügung.

Überblick über erste Schritte nach Erhalt eines Zugangs: https://doku.tid.dfn.de/de:dfnpki:tcsfaq:ersteschritte

Bei GÉANT gibt es eine Zusammenstellung von FAQs: https://wiki.geant.org/display/TCSNT/TCS+2020+FAQ

Die Dokumentation von Sectigo zur Administrations-Oberfläche und zu ACME ist zu finden unter https://sectigo.com/knowledge-base/detail/Sectigo-Certificate-Manager-SCM-Administrator-s-Guide/kA01N000000bvJA

Die REST-API ist dokumentiert unter https://sectigo.com/knowledge-base/detail/Sectigo-Certificate-Manager-SCM-REST-API/kA01N000000XDkE

Sectigo unterhält einen Youtube-Kanal mit vielen Tutorials: https://www.youtube.com/c/Sectigo/videos

Eine Bewertung von GÉANT zu Fragen des Datenschutzes und der DSGVO liegt vor: https://wiki.geant.org/display/TCSNT/TCS+2020+FAQ#TCS2020FAQ-Q:HowdoG%C3%89ANTandSectigodealwithGDPR/dataprotection?.

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.

Anwender haben Zugriff über die Administrations-Oberfläche, genannt „Sectigo Certificate-Manager“ (SCM), unter https://cert-manager.com/customer/DFN

Dort gibt es, wie in der Java RA-Oberfläche der DFN-PKI, einen direkten Überblick über offene Anträge und ausgestellte Zertifikate und eine Verwaltung von Domains. Es gibt eine Verwaltung von weiteren Administratoren und Abteilungen. Im cert-manager ist die sofortige Ausstellung von neuen Server- und Nutzerzertifikaten möglich.

TCS bietet zusätzlich:

Es gibt keine Testumgebung, in der Sachen ausprobiert werden könnten.

Der Anbieter muss die Existenz und den Namen der Organisation regelmäßig über ein Register verifizieren. Der aktuelle Validierungszustand ist über das linke Seiten-Menü „Organizations“ einsehbar.

Die Stammdaten der Organisation können nur von der DFN-PCA geändert 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.

  • 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.
  • MRAO sind die Main Registration Authority Officer auf übergeordneter DFN-Ebene. Die MRAO-Rolle wird nicht an Personen außerhalb der DFN-PCA vergeben. Das 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 dfnpca@dfn-cert.de.

Der erste RAO-Account einer Einrichtung wird von der DFN-PCA angelegt. Weitere RAOs oder DRAOs können dann eigenständig angelegt und verwaltet werden.

  • Privilegien „Allow … of peer admin“ ermöglichen u.a. das Anlegen, Modifizieren oder Löschen von weiteren RAOs/DRAOs.
  • Mit dem Privileg „DCV“ (Domain Control Validation) kann die Domainvalidierung gesteuert werden. Achtung: Auch ohne dieses Privileg ist das Eintragen von Domains und in bestimmten Situationen auch deren unmittelbare Verwendung möglich.
  • API-Only-User: Ein RAO/DRAO-Account kann auf „API-Only“ eingeschränkt werden (Privileg „WS-API 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 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 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 REST-API.
  • E-Mail-Adressen von SCM-Admin-Accounts dürfen keine großen Buchstaben (A-Z) enthalten. Kleinschreibung (a-z) wird akzeptiert.

Die meisten Privilegien können für DRAO-Accounts mit einem RAO-Account selbst verwaltet werden. Für RAO-Accounts können die Privilegien nicht selbst gesetzt werden, sondern nur von der DFN-PCA nachträglich geändert werden. Melden Sie sich zum Umsetzen von Privilegien bitte per E-Mail bei dfnpca@dfn-cert.de.

Um einen DRAO-Account anzulegen, muss vorher bereits ein Department eingerichtet worden sein.

Vorsicht bei der Vergabe von Passworten: Zeichen außerhalb von 7-bit ASCII können zwar beim Setzen des Passwortes genutzt werden, das Einloggen schlägt aber fehl. D.h., Standard-Sonderzeichen wie #$%& usw. können verwendet werden, Umlaute oder 8-Bit-Zeichen wie § oder aber nicht.

Unter ☰→Settings→Admins→<Auswahl>→Edit kann für jeden RAO oder DRAO, der ein GÉANT Nutzerzertifikat besitzt, eine zertifikatbasierte Authentifizierung eingestellt werden. Diese Anmeldung ist zusätzlich zu dem vorhandenen Nutzername/Passwort erforderlich.

Achtung: Geht das Zertifikat verloren, wird es gesperrt oder läuft es ab, ist für den RAO oder DRAO kein Zugriff mehr möglich. Eine andere Person mit gleichen oder größeren Rechten muss in dem Fall die zertifikatbasierte Authentifizierung abschalten oder ändern.

Besonders tückische Falle: Die automatische Sperrung, wenn bereits zwei Nutzerzertifikate existieren, siehe Beschränkung der Anzahl der Zertifikate

Über den Button „Sign in with your Institution“ unterhalb der Eingabefelder für Nutzername und Passwort können sich RAOs oder DRAOs in cert-manager.com über die AAI einloggen. Eine Beschreibung der Voraussetzungen ist zu finden unter: https://wiki.geant.org/display/TCSNT/TCS+2020+FAQ#TCS2020FAQ-ToenableSAMLforadminaccesstoSCM:

Weitere Voraussetzungen finden Sie unter Zugriff per AAI

Um einen Account für das Einloggen vorzubereiten, gibt es zwei verschiedene Wege:

  1. 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.
  2. 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 dfnpca@dfn-cert.de.
    • 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 (ePPN) und mail an Sectigo übertragen. Die übertragenen Attribute können Sie einsehen unter: https://cert-manager.com/customer/DFN/ssocheck/

Zur weiteren Strukturierung der Organisation können RAOs Abteilungen anlegen. Hierzu im linken Seiten-Menü „Organizations“ die eigene Organisation anwählen, und dann den Button Departments betätigen.

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 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 innerhalb der zugewiesenen Abteilung Zertifikate verwalten können.

Entgegen der Intuition unterliegen DRAOs keiner besonderen Beschränkung in der Domain-Verwaltung.

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>→✎ 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.
    • 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 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

Die Konfiguration erfordert in der Regel die Mithilfe Ihrer AAI-Administration, da oft die Attributfreigaben anzupassen sind und gegebenenfalls ein Entitlement gesetzt werden muss.

Unter https://cert-manager.com/customer/DFN/ssocheck/ steht ein Test-SP von Sectigo bereit, mit dem die übergebenen Attribute eingesehen werden können.

Die DFN-AAI stellt in der DFN-AAI Testföderation ebenfalls Test-SPs bereit, insbesondere https://testsp3.aai.dfn.de, mit denen die übergebenen Attribute eingesehen werden können. Dabei ist zu beachten, dass sich die lokalen Attribute-Release-Regeln im IdP zwischen dem Sectigo-SP und den Test-SPs der DFN-AAI Testföderation unterscheiden können, und daher die IdP-Konfiguration für Tests sehr genau betrachtet werden muss, um aussagekräftige Testergebnisse zu bekommen.

Der SP von Sectigo unterstützt leider ausschließlich single-valued mail-Attribute.

Wenn Ihr IdP standard-mäßig multi-value mail-Attribute herausgibt, kann folgendermaßen vorgegangen werden:

  • Vorhalten eines Feldes „idmcertrequestmail“ im Identitätsmanagement, Befüllen mit der Default-Mail-Adresse
  • Definition eines Attributes „singlemail“ im IdP
  • Aufstellen einer SP-spezifischen AttributeFilterPolicy
  • Mappen des Attributes singlemail auf mail

Definition des Attributs:

<!-- attribute-resolver.xml -->
<!-- Definition des zusätzlichen Attributes -->
<AttributeDefinition id="singlemail" xsi:type="Simple">
<InputDataConnector ref="myLDAP" attributeNames="idmcertrequestmail"/>
</AttributeDefinition>

Die Attribut-Filter werden der Reihe nach abgearbeitet. Falls es wie üblich schon eine allgemeine Freigabe für das E-Mail Attribut gibt, muss diese speziell für den SP cert-manager.com/shibboleth überschrieben werden:

<!-- attribute-filter.xml -->
<!--  Release some attributes to Sectigo Certificate Manager  -->
<AttributeFilterPolicy id="SectigoCertificateManager">
<PolicyRequirementRule xsi:type="Requester" value="https://cert-manager.com/shibboleth"/>

<AttributeRule attributeID="mail">
   <DenyValueRule xsi:type="ANY"/>
</AttributeRule>
<AttributeRule attributeID="singlemail">
   <PermitValueRule xsi:type="ANY"/>
</AttributeRule>

</AttributeFilterPolicy>

Je nach eingesetzter IdP Version müssen an geeigneter Stelle noch die OID + Beschreibungen gesetzt werden:

<bean parent="shibboleth.TranscodingProperties">
<property name="properties">
<props merge="true">
<prop key="id">singlemail</prop>
<prop key="transcoder">SAML2StringTranscoder SAML1StringTranscoder</prop>
<prop key="saml2.name">urn:oid:0.9.2342.19200300.100.1.3</prop>
<prop key="saml1.name">urn:mace:dir:attribute-def:mail</prop>
<prop key="displayName.en">E-mail</prop>
<prop key="displayName.de">E-Mail</prop>
<prop key="displayName.fr">Email</prop>
<prop key="displayName.it">E-mail</prop>
<prop key="displayName.ja">メールアドレス</prop>
<prop key="description.en">E-Mail: Preferred address for e-mail to be sent to this person</prop>
<prop key="description.de">E-Mail-Adresse</prop>
<prop key="description.de-ch">E-Mail Adresse</prop>
<prop key="description.fr">Adresse de courrier électronique</prop>
<prop key="description.it">E-Mail: l'indirizzo e-mail preferito dall'utente</prop>
<prop key="description.ja">メールアドレス</prop>
</props>
</property>
</bean>

Um Zertifikate zu erhalten, müssen die entsprechenden Domains (und ggf. IP-Adressen) im SCM unter ☰→Domains eingetragen (und delegiert) werden. Nach der Eintragung muss jede Domain bzw. IP-Adresse über „Domain Control Validation“ (DCV) validiert werden (Status muss auf „Validated“ gesetzt sein).

Für Domains gilt: Es 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.

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 Zertifikaten, siehe CAA-Records.

Domains (bzw. IP-Adressen) müssen im SCM auf Organisations- und/oder Department-Ebene eingetragen werden, damit diese in Zertifikaten verwendet werden können.

Domains (bzw. IP-Adressen) können dabei für eine beliebige Kombination aus Zertifikattypen (SSL-Serverzertifikate, Client Certificates und Code Signing-Zertifikate) vorgesehen werden.

Domains/IP-Adressen im SCM eintragen

Im SCM können Domains und IP-Adressen unter ☰→Domains über das grüne „+“-Symbol auf Organisations- und/oder Department-Ebene für eine beliebige Kombination von Zertifikattypen 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 machen, falls 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 Delegationen der Domain/IP-Adresse.

Um eine bereits eingetragene Domain bzw. IP-Adresse wieder aus dem SCM zu entfernen, senden Sie bitte eine E-Mail an dfnpca@dfn-cert.de.

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.

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

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.

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

Bei der CNAME-Methode muss im DNS ein von Sectigo vorgegebener CNAME für die Domain hinterlegt werden. Beispiel:

_230283408052380233432bdcad080132.example.org.    CNAME 232187932234324bcadd98.9802843242dfa23098.sectigo.com.

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 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

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.

Hinweise von Sectigo zu dieser Umstellung: https://sectigo.com/DCVChange

Diese beiden DCV-Methoden sind die einzigen zugelassenen Methoden für die Validierung von IP-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)

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 können in deren jeweiliger Punycode-Schreibweise in die Domain-Verwaltung vom SCM aufgenommen werden und dann ganz normal wie Domains ohne Umlaute behandelt werden.

Um eine IP-Adresse in Zertifikate in den CommonName oder in den subjectAlternativeName (Typ ip) aufnehmen zu können, ist wie folgt vorzugehen:

  1. IP-Adresse wie eine Domain im SCM unter ☰→Domains hinzufügen. (Dieses löst automatisch eine Domain-Delegationsanfrage bei der DFN-PCA aus.)
  2. Bestätigung der Domain-Delegation abwarten.
  3. Den DCV-Prozess für die IP-Adresse mit der Methode HTTP oder HTTPS einleiten,
  4. 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.
  5. Den begonnenen DCV-Vorgang wieder aufrufen und submitten.
  6. Den Sectigo-Support mit einem Ticket 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 IP-Adressen eingetragen werden, keine Adressbereiche.

Direkt im cert-manager

Sie können als eingeloggter RAO oder DRAO direkt im cert-manager Serverzertifikate beantragen und ausstellen.

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 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

Wenn Ihre Einrichtung in die DFN-AAI eingebunden ist und Ihr IdP die Voraussetzungen erfüllt (siehe Zugriff per AAI), können Sie ein Formular aufsetzen, über das nach AAI-Authentifizierung Serverzertifikate beantragt werden können.

  1. Im SCM unter ☰→Enrollment→Enrollment Forms
    1. Mit dem grünen Button „+“ oben rechts ein neues Enrollment Form erzeugen
      1. Einen sprechenden Namen vergeben, der auf Ihre Einrichtung hinweist
      2. Als Typ „SSL self-enrollment form“ setzen
      3. 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>
      4. Im selben Dialog unter Tab „Configuration“ den Authentication Type „Identity Provider“ anwählen.
      5. Mit „Save“ abspeichern
    2. Das neue Formular auswählen
    3. Oben auf „Accounts“ klicken.
    4. Im daraufhin geöffneten Popup-Fenster über mit dem grünen „+“-Button einen neuen Account hinzufügen.
    5. Einen sprechenden Namen für den Account vergeben, der auf Ihre Einrichtung hindeutet.
    6. Als „Organization“ Ihre Einrichtung aus der Drop-Down-Liste auswählen (und ggf. auch ein Department setzen).
    7. Bei den Zertifikatprofilen über das kleine „+“-Zeichen aus der Drop-Down-Liste das gewünschte Zertifikatprofil auswählen
      1. meist „OV Multi-Domain“
      2. „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.
    8. Als „CSR Generation Method“ üblicherweise den Wert „Provided by User“ auswählen.
      1. „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.
    9. „Automatically Approve Request“ nicht anwählen
    10. Als „Authorization Method“ den Wert „IdP Assertions Mapping“ auswählen. Nicht none verwenden!
    11. Dann den Button Edit anwählen
      1. Hinzufügen von „schacHomeOrganization matches <xyz.de>“, mit Plus und Save bestätigen.
      2. Wenn Sie diesen Schritt auslassen, können User aus beliebigen Identity-Providern Anträge bei Ihnen einreichen!
    12. Den Account insgesamt mittels „Save“-button abspeichern.

Bitte keine fremden Enrollment Forms löschen!

Anträge können nun unter der per „URI-Extension“ definierten URL eingereicht werden. https://cert-manager.com/customer/DFN/ssl/<URI Extension>

Die eingereichten Anträge müssen von einem RAO oder DRAO über ☰→Certificates→SSL Certificates→<Auswahl>→Approve Button genehmigt werden.

SSL Web Form

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.

  1. Im SCM unter ☰→Enrollment→Enrollment Forms
    1. Mit dem grünen Button „+“ oben rechts ein neues Enrollment Form erzeugen
      1. Einen sprechenden Namen vergeben, der auf Ihre Einrichtung hinweist
      2. Als Typ „SSL self-enrollment form“ setzen
      3. 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>
      4. Im selben Dialog unter Tab „Configuration“ den Authentication Type „Email Confirmation“ anwählen.
      5. Mit „Save“ abspeichern
    2. Das neue Formular auswählen
    3. Oben auf „Accounts“ klicken.
    4. Im daraufhin geöffneten Popup-Fenster über mit dem grünen „+“-Button einen neuen Account hinzufügen.
    5. Einen sprechenden Namen für den Account vergeben, der auf Ihre Einrichtung hindeutet.
    6. Als „Organization“ Ihre Einrichtung aus der Drop-Down-Liste auswählen (und ggf. auch ein Department setzen).
    7. Bei den Zertifikatprofilen über das kleine „+“-Zeichen aus der Drop-Down-Liste das gewünschte Zertifikatprofil auswhlen
      1. meist „OV Multi-Domain“
    8. Als „CSR Generation Method“ üblicherweise den Wert „Provided by User“ auswählen.
      1. „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.
    9. „Automatically Approve Request“ auf keinen Fall anwählen.
    10. Als „Authorization Method“ den Wert „Access Code“ auswählen. Nicht none verwenden!
    11. Einen Access Code eintragen
    12. Den Account mittels „Save“-button abspeichern.

Bitte keine fremden Enrollment Forms löschen!

Anträge können nun unter der per „URI-Extension“ definierten URL eingereicht werden. https://cert-manager.com/customer/DFN/ssl/<URI Extension>

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.

Die eingereichten Anträge müssen von einem RAO oder DRAO über ☰→Certificates→SSL Certificates→<Auswahl>→Approve Button genehmigt werden.

ACME

Es stehen Endpunkte für das ACME-Protokoll zur Verfügung, mit denen mit Standard-Clients automatisiert Serverzertifikate bezogen werden können. Hinweise hierzu unter ACME

REST-API für Serverzertifikate

Über das REST API können mit selbst erstellter Software oder Skripten Serverzertifikate erstellt werden. Hinweise hierzu unter REST-API

E-Mail-Einladung

Die Erstellung von Nutzerzertifikaten mit E-Mail-Einladungen ist nach drei Vorbereitungsschritten möglich.

1. Zunächst muss ein Account in einem Enrollment Form angelegt werden:

  • 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 „Client certificate self-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. 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.
      • 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
    • „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.

2. Anschließend werden unterhalb von ☰→Persons neue Einträge für Personen angelegt:

  • 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.
  • 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.

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/ssl/<URI Extension>)
    • Mit der URL kann die Person nach einer E-Mail-Challenge direkt das Zertifikat beziehen.

Bitte beachten Sie die Identifizierungsvoraussetzungen, bevor Sie Personen anlegen: Identifizierung und Dokumentation.

Erneuerung

Über die selbst definierte URL des Enrollment Forms können Zertifikate jederzeit erneut beantragt 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.

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:

Für die Schlüsselerzeugung im AAI-Workflow gibt es in dem angebotenen Formular eine Wahlmöglichkeit:

  • Entweder wird der private Schlüssel von Sectigo erzeugt
  • oder aber vom Beantragenden vorab zusammen mit einem CSR generiert. Der erstellte CSR kann dann im Formular zur Zertifikaterstellung hochgeladen werden.

Achtung: Es gibt für Client Certificates alternative Wege mit AAI-Bezug, die aber nicht verwendet werden sollen. (Individuelle Client certificate self-enrollment form mit Authentifizierung „Identity Provider“). Diese Wege erlauben den Nutzenden beliebige Vor- und Nachnamen anzugeben. Es wird lediglich die E-Mail-Adresse aus dem IdP übernommen, und das Zertifikat anschließend automatisch ausgestellt. Sie haben keine Möglichkeit, Vor- und Nachnamen vor Ausstellung zu verifizieren.

Der korrekte Weg zu Client Certificates mit der AAI ist über https://cert-manager.com/customer/DFN/idp/clientgeant

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:

  1. 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
  2. Attribut displayName2 in der Datei attribute-filter.xml für Sectigo freigeben (statt displayName)
  3. 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.

REST-API für Nutzerzertifikate

Über das REST API können mit selbst erstellter Software oder Skripten Nutzerzertifikate erstellt werden. Hinweise hierzu unter REST-API

Die Schlüsselerzeugung findet stets auf Seiten des Clients und nicht bei Sectigo statt.

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 self-enrollment form angelegt werden:

  1. Im SCM unter ☰→Enrollment→Enrollment Forms
    1. Mit dem grünen Button „+“ oben rechts ein neues Enrollment Form erzeugen
      1. Einen sprechenden Namen vergeben, der auf Ihre Einrichtung hinweist
      2. Als Typ „Code Signing certificate self-enrollment form“ setzen
      3. 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>
      4. Mit „Save“ abspeichern
  1. Oben auf „Accounts“ klicken.
  2. Im daraufhin geöffneten Popup-Fenster über mit dem grünen „+“-Button einen neuen „Code Signing Web Form Account“ hinzufügen.
  3. Einen sprechenden Namen für den Code Signing Web Form Account vergeben, der auf Ihre Einrichtung hindeutet.
  4. Als „Organization“ Ihre Einrichtung aus der Drop-Down-Liste auswählen (und ggf. auch ein Department setzen, wenn der Code Signing Web Form Account auf Department-Level eingerichtet werden soll).
  5. Als Zertifikatprofil Code Signing oder GÉANT Code Signing Certificate aus der Drop-Down-Liste auswählen. 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>→✎).
  6. Als „CSR Generation Method“ den Wert „Provided by user“ auswählen.
  7. Mit „Save“ abspeichern.

Bitte keine fremden Enrollment Forms löschen!

Es bietet sich optional an, dass die (D)RAOs sich unterhalb von ☰→Settings→Notifications eine automatische Benachrichtigung vom Typ Code Signing Certificate Requested konfigurieren, so dass diese auf neu eingegangene Zertifikatanträge für CodeSigning-Zertifikate aufmerksam gemacht werden.

Dann zum manuellen Auslösen der einzelnen Einladungs-Mails durch (D)RAOs unterhalb von ☰→Certificates→Code Signing Certificates:

  1. Mit dem „Invitations“-Button oben rechts wird ein Popup-Fenster mit einer Übersicht über die ausstehenden Einladungen für die Beantragung von CodeSigning-Zertifikaten angezeigt.
  2. Mit dem grünen „+“-Button in dem Popup-Fenster kann eine einzelne Person zur Beantragung eines CodeSigning-Zertifikats per E-Mail eingeladen werden.
    1. Es muss die E-Mail-Adresse angegeben werden, an die die Einladungs-E-Mail verschickt wird.
    2. Es muss der „Enrollment Endpoint“ ausgewählt werden, der im obigen Schritt angelegt worden ist. Hinweis: Die Liste der angezeigten Enrollment Endpoints umfasst zur Zeit leider auch fremde Endpoints anderer Einrichtungen. Dieser Bug ist Sectigo bereits bekannt.
    3. Es muss einer der vorher von der Einrichtung/Department angelegten „Code Signing Web Form Accounts“ ausgewählt werden.
    4. Abschließend auf den „Send“-Button klicken, um die Einladungs-E-Mail zu versenden.

Mit der Einladung kann ein Code Signing-Zertifikat beantragt werden.

Die eingegangenen Zertifikatanträge für Code Signing-Zertifikate sind unterhalb von ☰→Certificates→Code Signing Certificates sichtbar und müssen dort manuell von einem (D)RAO-Account genehmigt werden.

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.

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

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.

IP-Adressen können in Serverzertifikate aus TCS aufgenommen werden.

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.

Falls aus technischen Gründen für ein RSA-basiertes Serverzertifikat der Signaturalgorithmus sha256WithRSAEncryption zwingend erforderlich ist, kann dieses mittels 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.)

Wir empfehlen in jedem Fall OV Multi Domain zu verwenden. Im Zertifikatprofil OV Multi Domain sind mehrere Servernamen im Alternative Name möglich, z.B. fachbereich1.example.org, fachbereich2.example.org. Selbst Wildcard-Zertifikate können mit OV Multi Domain erstellt werden.

Im Zertifikatprofil OV SSL wird automatisch jedem Zertifikat ein zweiter, in den meisten Fällen sicherlich unerwünschter Alternativer Name www. hinzugefügt.

Beispiel: Antrag enthält fachbereich1.example.org ⇒ Das ausgestellte Zertifikat enthält die Namen fachbereich1.example.org und www.fachbereich1.example.org.

Es gibt eine Größenbeschränkung des CSR auf 32k. Es gibt Dokumentationsfundstücke bei Sectigo, die ein Limit der Anzahl der alternativen Namen auf 250 beschreiben. Diese Dokumentation ist nicht korrekt, in der Praxis konnten wir auch schon 400 alternative Namen aufnehmen. Die Größe für akzeptierte CSR liegt irgendwo zwischen 15000 und 19000 Byte.

Voraussetzung für ein Wildcard-Zertifikat ist eine im cert-manager eingetragene Domain, die mit den Methoden EMAIL oder CNAME validiert wurde. Für Domains, die per HTTP/HTTPS validiert wurden, können keine Wildcard-Zertifikate ausgestellt werden.

Für Wildcard-Zertifikate wählen Sie günstigerweise immer das Profil „OV Multi Domain“. In diesem Profil können auch Wildcard-Namen frei sowohl im SubjectAltName als auch im CN verwendet werden.

Im Profil „Wildcard SSL“ können keine weiteren SubjectAltNames können nicht angegeben werden. Die „Wildcard SSL“-Zertifikate werden ausschließlich mit dem Wildcard-Namen und der Basis-Domain ausgestellt.

GÉANT TCS Zertifikate sind nicht für die Verschlüsselung von VoIP-Anschlüssen im Rahmen von DFNFernsprechen vorgesehen.

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

EV-Zertifikate können nur erstellt werden, nachdem in cert-manager ein sog. EV Anchor angelegt wurde. Dies ist ein spezielles administratives Zertifikat, dessen Ausstellung von allen Prozeduren zur besonderen Prüfung nach EV-Standard begleitet wurde.

  • Bitte versuchen Sie auf keinen Fall, ein normales EV-Zertifikat vor der Erstellung eines EV Anchors zu beantragen.
  • Vor der Erstellung eines EV-Anchors müssen die EV-Informationen unter ☰→Organizations→<Auswahl>→Edit Tab „EV Details“ korrekt sein. Diese EV Details müssen von der DFN-PCA gesetzt werden, allerdings benötigen wir Ihre Mithilfe.

Die Anleitung im GÉANT FAQ ist zu finden unter: https://wiki.geant.org/display/TCSNT/TCS+2020+FAQ#TCS2020FAQ-Q:HowdoIcreateanEVAnchor? Versuchen Sie auf keinen Fall mehrere EV Anchor zu erstellen.

Sperrung bei Datenänderung

Sectigo führt eine Liste aller Personen, die ein Zertifikat erhalten haben. Personen werden anhand ihrer primären E-Mail-Adresse identifiziert. Dieselbe natürliche Person kann also verschiedene primäre E-Mail-Adressen verwenden und gilt dann für Sectigo als verschiedene Personen.

Wenn für eine primäre E-Mail-Adresse erstmals ein Zertifikat beantragt wird, wird die Person mit den Angaben aus dem Antrag in die Liste eingetragen.

Wenn für eine primäre E-Mail-Adresse weitere Zertifikate beantragt werden, werden die vorhandenen Personendaten in der Liste mit den Angaben aus den neuen Anträgen aktualisiert.

Dabei gilt:

  • Sekundäre E-Mail-Adressen und der „commonName“ können problemlos geändert werden.
  • Änderungen am „firstName“, „middleName“ oder „lastName“ führen aber zur sofortigen Sperrung aller vorher für diese primäre E-Mail Adresse ausgestellten Zertifikate in allen Zertifikatprofilen (GEANT Personal, GEANT IGTF-MICS und GEANT IGTF-MICS-Robot Personal). Es erfolgt keine Rückfrage und es gibt keinen Hinweis an den Zertifikatinhaber!

Beschränkung der Anzahl der Zertifikate pro Nutzer

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.

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!

Code Signing über cert-manager

Die über die Oberfläche beziehbaren CodeSigning-Zertifikate sind für die Signatur von Java JARs & MS Office Macros verwendbar.

Die Beantragung von CodeSigning-Zertifikaten wird über individuelle Einladungs-E-Mails eingeleitet.

EV Code Signing

EV Code Signing-Zertifikate, denen beispielsweise in Microsoft SmartScreen sofort vertraut wird, müssen über einen separaten Antragsweg bestellt und zusätzlich bezahlt werden.

Die Beantragung erfolgt außerhalb des Cert-Managers. Eine Anleitung findet sich unter https://wiki.geant.org/display/TCSNT/TCS+2020+FAQ#TCS2020FAQ-Q:HowDoIOrderEVCodeSigningCertificates? (Hinter dem Link „GUIDE“ versteckt sich eine ausführliche Anleitung als PDF-Dokument)

Rechtliche Grundlagen

Erläuterungen zu dem rechtlichen Aspekt finden Sie unter: Rechtliche Grundlagen elektronischer Signaturen

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.

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

Diese Einstellungen müssen von jeder Person vorgenommen werden, die die Signaturen prüfen soll.

Zur rechtlichen Bewertung der auf diese Art erzeugten Signaturen („Fortgeschritten nach eIDAS“) können wir keine Aussage treffen. Die Ansprüche an qualifizierte Signaturen werden keinesfalls erfüllt.

Document Signing Zertifikate

Im Rahmen von TCS können von Sectigo kostenpflichtige, rabattierte Document Signing Zertifikate bezogen werden, denen ohne weitere Konfigurationsarbeiten direkt in Adobe vertraut wird. Diese Zertifikate sind über die Adobe Approved Trust List verankert.

Den Ansprüchen von qualifizierten Signaturen genügen die mit diesen Zertifikaten erzeugten Signaturen aus formalen Gründen nicht. Zur weiteren rechtlichen Bewertung („Fortgeschritten nach eIDAS“) können wir keine Aussage treffen.

Für den Bezug dieser Zertifikate gibt es einen separaten Antragsweg außerhalb von cert-manager.

Die Zertifikate kosten ca. 130,- Euro für 3 Jahre. Der Betrag ist während des Antragsprozesses direkt per Kreditkarte oder PayPal zu begleichen. Neben diesem Betrag entstehen zusätzliche, weitere Kosten und Aufwände, da von Sectigo eine Identitätsbestätigung der Antragsstellenden durch eine dritte Partei (Notariate, Rechtsanwaltskanzleien o.ä) gefordert wird. Bisherige Erfahrungen zeigen, dass Sectigo bei den bestätigenden Notariaten/Kanzleien zurückruft und eine mündliche Bestätigung des Vorgangs einholen möchte. Zur Not wird für diese Nachfrage auch E-Mail verwendet. Es werden Adressdaten genutzt, die in einem Register, bspw. der Bundesrechtsanwaltskammer, aufgeführt sind.

Im Zuge des Antragsprozesses wird von Sectigo die Einsendung einer Kopie eines Ausweisdokumentes verlangt. Das Zertifikat wird von Sectigo auf Crypto-Token erstellt und versandt. Der DN der ausgestellten Zertifikate enthält je nach gewähltem Zertifikattyp entweder CN=<Einrichtung> (Typ „Company“) oder CN=<Name des Antragsstellers> (Typ „Individual“).

Die Beantragung führen Sie bitte wie in der Dokumentation von GÉANT dargestellt durch: https://wiki.geant.org/display/TCSNT/TCS+2020+FAQ#TCS2020FAQ-Q:AreDocumentSigningCertificatesavailableviaSectigo? (Hinter dem Link „GUIDE“ verbirgt sich eine ausführliche PDF-Dokumentation)

Qualifizierte Zertifikate

Sectigo hat auch ein Angebot für qualifizierte Zertifikate, die über die EU Trusted List auch in Adobe verankert sind. Dieses Angebot ist aber nicht Bestandteil des derzeitigen Leistungsumfangs von TCS und ist nicht rabattiert.

Auch die qualifizierten Zertifikate müssen über einen separaten Antragsweg außerhalb von cert-manager bezogen werden.

  • Für Nutzerzertifikate, die im Grid-Umfeld verwendet werden sollen, verwenden Sie bitte eines der IGTF-Profile.
    • Wichtig: Nur bei dem Antragsweg über SAML (s.u.) wird der DN korrekt gebildet und enthält DC = org, DC = terena, DC = tcs, C = DE, O = <Einrichtung>. Bei anderen Antragswegen (z.B. E-Mail Invitation) entspricht der DN nicht den im Grid-Computing verwendeten Konventionen; eventuell ist das Zertifikat dann im Grid-Umfeld nur eingeschränkt nutzbar.
  • Für Serverzertifikate (Hostzertifikate), die im Grid-Umfeld verwendet werden sollen, verwenden Sie bitte das IGTF-Profil GÉANT IGTF Multi-Domain.

Die aus der DFN-PKI bekannten Gruppen- und Pseudonymzertifikate können in TCS abgebildet werden, indem im SCM wie folgt vorgegangen wird:

Zunächst die Nutzerzertifikatbeantragung mittels E-Mail-Einladung vorbereiten. Dann

  • ☰→Persons, grünen „+“-Button betätigen
  • Daten im ersten Dialog ausfüllen und mit OK bestätigen:
    1. First Name und Last Name für die hauptverantwortliche Person der Gruppe.
    2. E-Mail-Adresse auf die Gruppen-Mail-Adresse
  • Im nächsten großen Dialog Feld Common Name auf den Gruppennamen setzen
  • Den Button „Save“ betätigen
  • Den neuen Eintrag auswählen, Button „Edit“ betätigen.
  • Im neuen Dialog Reiter „Enrollment Invitations“ anwählen
  • Dort hinter „Invitations“ das „+“-Symbol betätigen
  • Das gewünschte Enrollment Form auswählen, das im ersten Schritt angelegt wurde (Nutzerzertifikatbeantragung mittels E-Mail-Einladung).
  • 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.

Die uns bekannten Root- und CA-Zertifikate in TCS sind dokumentiert unter: TCS CA-Zertifikate

SCM und Zertifikat-E-Mails bieten mehrere Download-Formate für die Zertifikate an:

  1. Server-Zertifikate:
    1. as Certificate only, PEM encoded enthält ausschließlich das Server-Zertifikat im PEM-Format (–––––BEGIN CERTIFICATE––––– […] –––––END CERTIFICATE–––––).
    2. 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.
    3. 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–––––).
    4. 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.
    5. 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.
  1. CA-Zertifikate:
    1. 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–––––).
    2. 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–––––).

Die Anforderungen an die Identifizierung und die Dokumentation für persönliche Zertifikate (client certificates, Nutzerzertifikate) sind im TCS Certification Practice Statement - Personal, eScience Personal and Document Signing Certificates festgehalten: https://wiki.geant.org/display/TCSNT/TCS+Repository

Die dort für „TCS eScience Personal“ referenzierten Anforderungen der IGTF finden sich im Dokument „IGTF Levels of Authentication Assurance“: https://www.eugridpma.org/guidelines/authn-assurance/igtf-authn-assurance-1.1.pdf

Die wichtigsten Punkte:

  • Vor der Ausstellung eines Zertifikats soll eine persönliche Identifizierung mit einem Lichtbildausweis oder andere gültigen offiziellen Dokumenten durchgeführt werden.
  • Alternativ ist auch eine Video-Identifizierung oder eine Identifizierung über einen Notar möglich.
  • Alternativ genügt auch eine bestehende andauernde Beziehung zum Zertifikatnehmer, z.B im Rahmen eines Beschäftigungsverhältnisses, wenn hierdurch der Account im IdM (und damit der AAI) gesichert ist und zu Beginn eine Prüfung der Identität mit einem vergleichbaren Niveau, wie oben beschrieben, stattgefunden hat.

Im Unterschied zur DFN-PKI „Global“ muss eine Identifizierung nicht von speziell benannten Teilnehmerservice-Mitarbeitern durchgeführt und auch nicht regelmäßig wiederholt werden. Eine Feststellung der Identität z.B. im Rahmen von Einstellungsprozessen reicht aus.

Die Dokumentation der Identifizierung muss nicht über die Verfahren hinausgehen, die für die üblichen Einrichtungs-internen Prozesse im Rahmen eines Beschäftigungsverhältnisses oder eines Studiums notwendig sind. Die Einrichtung muss mit ihrer Dokumentation in der Lage sein, den Namen im Zertifikat auf eine konkrete Person zurückzuführen.

Formal unterscheiden sich die Anforderungen an die Ausstellung von Nutzerzertifikaten für die Zertifikatprofile „GÉANT Personal…“ und „GÉANT IGTF…“. Erstere haben etwas niedrigere Anforderungen, so ist beispielsweise keine direkte persönliche Identifizierung gefordert, sondern eine Identifizierung anhand einer Kopie eines Lichtbildausweises.

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.

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.

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.

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 Wert urn:mace:terena.org:tcs:personal-user)

Ein External Requester wird optional bei den Antragsformularen für Serverzertifikate abgefragt. Hier kann schlicht eine zusätzliche Mailadresse angegeben werden, die Benachrichtigungen zum Zertifikat erhält.

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 Binding“ unterstützt werden (bei GetSSL beispielsweise mit Stand 09/2021 nur mit einem Patch).

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.

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.

Einem ACME-Account müssen vor dessen Nutzung bereits delegierte Domains zugeordnet werden. Die Domains müssen nicht notwendigerweise bereits validiert sein.

  • Für nicht validierte Domains muss im Laufe der Zertifikatausstellung eine ACME-Challenge beantwortet werden (automatisch durch den ACME-Client). Im Standard-Fall ist dafür eine Inbound-Verbindung von Sectigo zu einem Webserver auf dem zu zertifizierenden Domainnnamen erforderlich.
  • Für bereits validierte Domains ist keine ACME-Challenge und damit keine Inbound-Verbindung erforderlich.

Es ist zu beachten, dass einem ACME-Account keine Stern-Domains (z.B. *.example.org) zugeordnet werden dürfen. Die Zuordnung von solchen Stern-Domains hat im Kontext von ACME-Accounts keinen weiteren „Wildcard-Effekt“.

Die Zuordnung von Nicht-Stern-Domains (z.B. example.org) genügt im Kontext von ACME-Accounts bereits vollständig aus, um sowohl Zertifikate für die eingetragene Domain selbst (in diesem Beispiel also example.org) als auch für alle unterhalb von der explizit eingetragenen Domain möglichen FQDNs (auch unter Sub-Domains) (z.B. www.example.org und blog.it.example.org) per ACME auszustellen. Siehe auch Schutz von ACME-Accounts.

Eine häufige Fehlermeldung durch einen ACME-Client im Zusammenhang mit fälschlich zugewiesenen Stern-Domains im ACME-Kontext ist The client lacks sufficient authorization…. Weitere Details dazu finden sich auch in der SCM-Knowledgebase unter https://sectigo.com/knowledge-base/detail/Sectigo-Certificate-Manager-SCM-ACME-error-The-client-lacks-sufficient-authorization/kA03l00000117Sy.

Die Daten eines ACME-Accounts (konkret die Werte eab-kid und eab-hmac-key) sollten mindestens wie private Schlüssel für Serverzertifikate behandelt und geschützt werden. Dies gilt auch für die Daten in der Installation des ACME-Clients, z.B. das Verzeichnis /etc/letsencrypt.

Je nach Domains, die dem ACME-Account zugewiesen wurden, hat eine Komprimittierung des Accounts oder der Installationsdaten sogar deutlich größere Auswirkungen. Denn: In ACME-Accounts können für alle zugewiesenen einfachen Domainnamen beliebige Zertifikate unter weiteren Sub-Domains ausgestellt werden.

Beispiel: Wenn Sie für Ihren Haupt-Webserver Zertifikate für example.org und www.example.org benötigen und einen entsprechenden ACME-Account mit diesen zugewiesenen Domainnamen erstellen, erlauben Sie automatisch die Ausstellung von Zertifikaten auf weiteren beliebigen Sub-Domains wie internal.it.example.org.

Dieser ACME-Account ist dann je nach Risikoanalyse nicht unbedingt dafür geeignet, in einer ausgelagerten Hosting-Umgebung betrieben zu werden, und sollte eher auf einer spezialisierten, geschützten „cerbot-Maschine“ verwendet werden.

Vorausgesetzt, dass die dem Account zugewiesene Domain validiert und delegiert ist, können direkt im Anschluss Zertifikate erzeugt werden:

certbot certonly --standalone --non-interactive --agree-tos --email <Email-Adresse> --server <Sectigo-Server> --eab-kid <Wert von eab-kid> --eab-hmac-key <Wert von eab-hmac-key> --domain <FQDN> 

Es können für beliebig viele FQDNs, die innerhalb der dem Account zugewiesenen Domains liegen, Zertifikate erstellt werden.

Da die ACME-Accounts in der Regel unlimitierte Fähigkeiten zum Ausstellen von Zertifikaten haben, ist sorgfältig abzuwägen ob die Account-Infomationen zwischen mehreren Servern geteilt werden sollten oder aber besser mit separaten ACME-Accounts gearbeitet werden soll.

Ein Ansible-Gerüst zum zentralen Erstellen eines ACME-Accounts per REST-API und zum Bezug von Zertifikaten per ACME findet sich unter: https://github.com/francescm/acme-ansible-debian-sectigo

Per ACME ausgestellte Zertifikate können per ACME-Client (z.B. certbot) gesperrt werden. certbot benötigt Zugriff auf die Account-Informationen von der initialen Ausstellung des Zertifikats. Wenn diese Voraussetzung gegeben ist, kann folgendermaßen gesperrt werden:

certbot revoke --cert-path <Pfad zum zu sperrenden Zertifikat> --server <Sectigo-Server>

Eine Sperrung per Cert-Manager ist auch möglich. Der unverständliche Informationsdialog kann ignoriert werden.

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.

Die Systeme von Sectigo können per REST-API angesprochen werden. Eine Dokumentation hierzu finden Sie unter: https://sectigo.com/knowledge-base/detail/Sectigo-Certificate-Manager-SCM-REST-API/kA01N000000XDkE

Das REST-API kann nur dann zum Enrollment verwendet werden, wenn unter ☰→Organizations→<Auswahl> per Button Edit im Tab „Certificate Settings“ in den Abschnitten „SSL Certificates“ bzw. „Client Certificates“ die Checkbox „Web-API“ angekreuzt ist und ein Secret-Key eingetragen ist. Der Secret-Key wird zwar nur für eine veraltete SOAP-API aktiv verwendet, muss aber trotzdem vergeben werden. Dieser Secret-Key darf maximal 20 Zeichen lang sein, ansonsten kommt es erfahrungsgemäß bei der Verwendung des REST-APIs zu wenig aussagekräftigen „Internal Error“-Fehlern.

Es ist ein Login/Passwort eines im Cert-Manager angelegten Accounts zu übergeben, dessen Anfangspasswort bereits geändert wurde. Die in der Dokumentation angegebene Client-Authentifizierung per Zertifikat für das REST-API ist noch nicht getestet.

Tipp: Man kann einen Account in seiner Rolle so einschränken, dass ausschließlich der REST-API-Zugang verwendet werden kann, siehe Admins, Rollen & Privilegien

Beispiel für die Beantragung von Serverzertifikaten:

curl 'https://cert-manager.com/api/ssl/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>,"subjAltNames":"<FQDN des Servers>","certType":<Nummer des Zertifikatprofils>,"numberServers":0,"serverType":-1,"term":365,"comments":"","externalRequester":"","customFields": [],"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICYjCCAU...N818=\n-----END CERTIFICATE REQUEST-----"}'

Die <OrgId> (ID) ist direkt im cert-manager.com ablesbar: ☰→Organizations→<Organisationsauswahl>→Button Edit. Für DRAO-Accounts muss auf Department-Ebene die <OrgId> (ID) entsprechend vom zugehörigen Departement des DRAO-Accounts hergenommen werden: ☰→Organizations→<Organisationsauswahl>→Button Edit→<Department-Auswahl>→Button Edit.

Die <Nummer des Zertifikatprofils> muss einmalig mit folgendem Aufruf ermittelt werden:

curl 'https://cert-manager.com/api/ssl/v1/types' -i -X GET \
    -H "Content-Type: application/json;charset=utf-8" \
    -H "login: <account>" \
    -H "password: <passwort>" \
    -H "customerUri: DFN" \

Ausgestellte Zertifikate können mit folgendem Aufruf abgeholt werden:

curl  'https://cert-manager.com/api/ssl/v1/collect/<Antragsnummer>/<Format>' -i -X GET \
    -H "Content-Type: application/json;charset=utf-8" \
    -H "login: <account>" \
    -H "password: <passwort>" \
    -H "customerUri: DFN" \

<Antragsnummer> wurde bei einem vorherigen Aufruf von …enroll als Rückgabewert zurückgeliefert.

<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.

Wenn Sie CAA-Records im DNS setzen möchten, um die Ausstellung von Zertifikaten auf bestimmte CAs einzuschränken, verwenden Sie für TCS den issue-Wert sectigo.com:

muster-uni.de.       IN    CAA    0 issue "sectigo.com"
muster-uni.de.       IN    CAA    0 issue "pki.dfn.de"

Der CAA-Record muss bereits zum Zeitpunkt der Domain-Freischaltung passen, nicht erst zum Zeitpunkt der konkreten Zertifikatausstellung.

Ist für eine betrachtete Domain (Alias-Domain) ein CNAME im DNS definiert, so müssen die CAA-Records für den CNAME die Ausstellung von Zertifikaten durch TCS erlauben:

muster-uni.edu.      IN    CNAME muster-uni.de.

muster-uni.de.       IN    CAA    0 issue "sectigo.com"
muster-uni.de.       IN    CAA    0 issue "pki.dfn.de"

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 sollen hauptsächlich von einem RAO oder DRAO in https://cert-manager.com/customer/DFN gesperrt werden.

Die Sperrmechanismen von ACME (z.B. mit certbot revoke) stehen für per ACME ausgestellte Zertifikate ebenfalls zur Verfügung.

Unter der folgenden URL steht ein Sperrinterface bereit, in dem Sperranträge gestellt werden können: https://secure.sectigo.com/products/RevocationPortal

Hier sind allerdings weitere Authentifizierungsschritte erforderlich, wie beispielsweise die Beantwortung einer E-Mail-Challenge, die Bereitstellung des private Key oder die Signierung eines vorgegebenen Datenobjektes.

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

  1. Im SCM über ☰→Settings→Notifications→das grüne „+“-Symbol oben rechts eine Benachrichtigung hinzufügen,
  2. dabei einen Namen für die Benachrichtigung vergeben und den Benachrichtigungstyp auswählen. Es stehen mehrere Benachrichtigungstypen zur Auswahl.
    1. Wir empfehlen Benachrichtigungen für die Typen SSL Expiration, Client Certificate Expiration, Code Signing Certificate Expiration und DCV Expiration einzurichten.
  3. Im nächsten Schritt können je nach Benachrichtigungstyp unterschiedliche (Empfangs-)Optionen definiert werden.
    1. Falls einzelne Benachrichtigungstypen nicht sichtbar sind, liegt das daran, dass Ihr (D)RAO-Account nicht über die entsprechenden Berechtigungen verfügt.
    2. Beim Einrichten einer DCV …-Benachrichtigung, bitte nicht die Benachrichtigung für Owner aktivieren. Die Benachrichtigung der Owner erreicht nur die MRAOs/DFN-PCA.
    3. 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 ü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.

Fehlende Icons/Symbole

Werden im SCM an einigen Stellen Alternativtexte oder Platzhalter anstatt Icons oder Symbole angezeigt, so kann das daran liegen, dass der verwendete Browser (z.B. Firefox) so konfiguriert ist, dass dieser ausschließlich „eigene“ Schriftarten verwendet. Die fehlenden Icons und Symbole sind allerdings als Zeichen aus einem Symbolzeichensatz realisiert, den die Web-Seiten mitbringen. Erlauben Sie die Verwendung von eigenen Zeichensätzen der Web-Seiten unter den erweiterten Font- und Farbeinstellungen des Browsers: „[x] Allow pages to choose their own fonts, instead of your selections above“.

Filtereinstellungen zurücksetzen

In den unterschiedlichen Übersichtslisten des SCMs können verschiedene Ansichtsfilter gesetzt werden, die auch über Login-Sessions hinweg persistent bleiben. Hat man aus Versehen einen Filter gesetzt, der zu Zeitüberschreitungsfehlern oder gar internen Server-Fehlern führt und daher nicht mehr über die normale Filterkonfiguration zurücksetzbar ist, so können über die Profil-Verwaltung des eigenen Accounts unter „My Profile“ die „Grid settings“ auf die Standardeinstellungen zurückgesetzt werden. Diese Funktion setzt sowohl alle Tabellenansichten (insb. die Spaltenauswahl) in den Übersichtslisten zurück als auch alle gesetzten Ansichtsfilter.

Audits

Im Gegensatz zur DFN-PKI sind in GÉANT TCS keine regelmäßigen Audits der RA-Tätigkeit von Teilnehmern vorgesehen.

Statusmeldungen und Wartungsankündigungen der Sectigo-Services sind sichtbar über: https://sectigo.status.io

Die Meldungen können dort auch als E-Mail und RSS-Feed (https://status.io/pages/5938a0dbef3e6af26b001921/rss) abonniert werden.

Wir helfen auch bei technischen Schwierigkeiten mit den TCS-Systemen gerne weiter, z.B. per Mail: 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

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.

  • Zuletzt geändert: vor 15 Monaten