=====Sectigo REST-API===== 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-> 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 [[de:dfnpki:tcsfaq#admins_rollen_privilegien|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: " \ -H "password: " \ -H "customerUri: DFN" \ -d '{"orgId":,"subjAltNames":"","certType":,"numberServers":0,"serverType":-1,"term":365,"comments":"","externalRequester":"","customFields": [],"csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICYjCCAU...N818=\n-----END CERTIFICATE REQUEST-----"}' Die (ID) ist direkt im cert-manager.com ablesbar: ☰->Organizations->->Button Edit. Für DRAO-Accounts muss auf Department-Ebene die (ID) entsprechend vom zugehörigen Departement des DRAO-Accounts hergenommen werden: ☰->Organizations->->Button Edit->->Button Edit. Die 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: " \ -H "password: " \ -H "customerUri: DFN" \ Ausgestellte Zertifikate können mit folgendem Aufruf abgeholt werden: curl 'https://cert-manager.com/api/ssl/v1/collect//' -i -X GET \ -H "Content-Type: application/json;charset=utf-8" \ -H "login: " \ -H "password: " \ -H "customerUri: DFN" \ wurde bei einem vorherigen Aufruf von ...enroll als Rückgabewert zurückgeliefert. 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. Beispielaufruf zur Beantragung eines Nutzerzertifikats: curl 'https://cert-manager.com/api/smime/v1/enroll' -i -X POST \ -H "Content-Type: application/json;charset=utf-8" \ -H "login: " \ -H "password: " \ -H "customerUri: DFN" \ -d '{ "orgId":, "certType":,\ "email":"",\ "firstName":"", "lastName":"",\ "term":,\ ...,\ "csr":"-----BEGIN CERTIFICATE REQUEST-----\nMIICYjCCAU...N818=\n-----END CERTIFICATE REQUEST-----"}