Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
de:dfnpki:tcs:restapi [2024/05/16 18:00] – [Sectigo REST-API] Reimer Karlsen-Masur | de:dfnpki:tcs:restapi [2024/05/31 18:05] (aktuell) – Juergen Brauckmann | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | |||
=====Sectigo REST-API===== | =====Sectigo REST-API===== | ||
- | Die Systeme von Sectigo können per REST-API angesprochen werden. Eine Dokumentation hierzu finden Sie unter: https:// | + | Die Systeme von Sectigo können per REST-API angesprochen werden. Es gibt zur Zeit (2024-05) **zwei** Versionen der API. |
+ | |||
+ | 1. Eine ältere API mit Endpunkten | ||
+ | * Authentifizierung per Username/ | ||
+ | * Dokumentation unter https:// | ||
+ | |||
+ | 2. Eine neuere API mit Endpunkten unter https:// | ||
+ | * Authentifizierung per OAUTH2 Client Credentials Grants | ||
+ | * Anknüpfungspunkt in SCM sind spezielle RAO- und DRAO-Accounts vom Typ " | ||
+ | * OAuth2 Client-ID und Client-Secret können in SCM erzeugt werden über ☰-> | ||
+ | * JSON-Dokumentation nach dem OpenAPI-Standard unter https:// | ||
+ | |||
Das REST-API kann nur dann zum Enrollment verwendet werden, wenn unter ☰-> | Das REST-API kann nur dann zum Enrollment verwendet werden, wenn unter ☰-> | ||
+ | |||
+ | |||
+ | === Beispiele für REST API Typ 1 === | ||
Es ist ein Login/ | Es ist ein Login/ | ||
Zeile 55: | Zeile 69: | ||
" | " | ||
" | " | ||
- | " | + | " |
...,\ | ...,\ | ||
" | " | ||
+ | |||
+ | |||
+ | === Beispiele für REST API Typ 2 === | ||
+ | |||
+ | Für die modernere Variante des APIs sind Aufrufe mittels '' | ||
+ | |||
+ | < | ||
+ | import urllib.request | ||
+ | from oauthlib.oauth2 import BackendApplicationClient | ||
+ | from requests_oauthlib import OAuth2Session | ||
+ | |||
+ | # clientid und clientsecret über den Button " | ||
+ | clientid=< | ||
+ | clientsecret=< | ||
+ | |||
+ | token_url=' | ||
+ | client = BackendApplicationClient(client_id=clientid) | ||
+ | oauth = OAuth2Session(client=client) | ||
+ | |||
+ | token = oauth.fetch_token(token_url=' | ||
+ | client_id=clientid, | ||
+ | |||
+ | headers = {' | ||
+ | |||
+ | resp = requests.get(' | ||
+ | print(resp.headers) | ||
+ | print(resp.json()) | ||
+ | </ | ||