Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze Následující verze | Předchozí verze | ||
cs:tcs-api-documentation.html [2018/07/24 13:34] dans@cesnet.cz [Strojový přístup ke službě TCS] |
cs:tcs-api-documentation.html [2024/02/14 12:12] Daniel Studený |
||
---|---|---|---|
Řádek 5: | Řádek 5: | ||
===== Dokumentace API ===== | ===== Dokumentace API ===== | ||
- | Volání API je realizováno **HTTP požadavkem** s autorizací **klientským certifikátem**. Akceptovány jsou pouze certifikáty vydané v rámci služby **TCS** a to certifikáty **osobní** a **robotové**. | + | Volání API je realizováno **HTTP požadavkem** s autorizací **klientským certifikátem**. Akceptovány jsou pouze certifikáty vydané v rámci služby **TCS** a to certifikáty **robotové**. |
Z výše uvedeného vyplývá, že uživatelé z organizací, které **nejsou zapojeny ve federaci identit eduId.cz**, a nemohou tudíž vydávat osobní certifikáty, bohužel **nemohou TCS API využívat**. | Z výše uvedeného vyplývá, že uživatelé z organizací, které **nejsou zapojeny ve federaci identit eduId.cz**, a nemohou tudíž vydávat osobní certifikáty, bohužel **nemohou TCS API využívat**. | ||
+ | Popis vydání robotového certifikátu naleznete [[cs:tcs-robot-request.html|zde]]. | ||
==== Obecný popis volání funkcí API ==== | ==== Obecný popis volání funkcí API ==== | ||
Řádek 12: | Řádek 13: | ||
Základní adresa pro volání aktuální verze API je | Základní adresa pro volání aktuální verze API je | ||
- | ''%%https://tcs-dev.cesnet.cz/api/v2/certificate/<jméno_funkce>%%'' | + | ''%%https://tcs.cesnet.cz/api/v2/certificate/<jméno_funkce>%%'' |
Podle typu funkce je nutné odeslat požadavek jako **GET**, **POST**, **PUT**, nebo **DELETE**. Momentálně nejsou všechny z těchto typů požadavků rozhraním využity, funkce ale budou v budoucnu rozšiřovány a mohou být využity i dosud nevyužité typy volání rozhraní. | Podle typu funkce je nutné odeslat požadavek jako **GET**, **POST**, **PUT**, nebo **DELETE**. Momentálně nejsou všechny z těchto typů požadavků rozhraním využity, funkce ale budou v budoucnu rozšiřovány a mohou být využity i dosud nevyužité typy volání rozhraní. | ||
Řádek 22: | Řádek 23: | ||
<code> | <code> | ||
curl \ | curl \ | ||
- | --cacert /etc/ssl/certs/TERENA_SSL_CA_3.pem \ | + | --cacert /etc/ssl/certs/geant_ev_rsa_ca_4.pem \ |
- | --cacert /etc/ssl/certs/DigiCert_High_Assurance_EV_Root_CA.pem \ | + | --cacert /etc/ssl/certs/usertrust_rsa_certification_authority.pem \ |
+ | --cacert /etc/ssl/certs/Comodo_AAA_Services_root.pem \ | ||
--cert muj_certifikat.crt \ | --cert muj_certifikat.crt \ | ||
--key muj_klic.key \ | --key muj_klic.key \ | ||
Řádek 29: | Řádek 31: | ||
-H "Content-Type: application/json" \ | -H "Content-Type: application/json" \ | ||
-X POST \ | -X POST \ | ||
- | https://tcs-dev.cesnet.cz/api/v2/certificate/funkce | + | https://tcs.cesnet.cz/api/v2/certificate/funkce |
</code> | </code> | ||
Řádek 38: | Řádek 40: | ||
</code> | </code> | ||
- | Jak je z příkladu patrné, server [[https://tcs.cesnet.cz | tcs.cesnet.cz]] se prokazuje **EV TCS** certifikátem. Zatímco kořenový certifikát **DigiCert_High_Assurance_EV_Root_CA.pem** | + | Jak je z příkladu patrné, server [[https://tcs.cesnet.cz | tcs.cesnet.cz]] se prokazuje **EV TCS** certifikátem. Zatímco kořenový certifikát **Comodo_AAA_Services_root.pem** |
- | bývá standardní součástí většiny distribucí a v Linuxu se nachází právě ve výše uvedené cestě, mezilehlý certifikát **TERENA_SSL_High_Assurance_CA_3.pem** je zapotřebí stáhnout | + | bývá standardní součástí většiny distribucí a v Linuxu se nachází právě ve výše uvedené cestě, mezilehlé certifikáty **geant_ev_rsa_ca_4.pem** a **usertrust_rsa_certification_authority.pem** je zapotřebí stáhnout |
- | např. z [[https://pki.cesnet.cz/certs/TERENA_SSL_High_Assurance_CA_3.pem | tohoto odkazu]]. | + | např. z [[https://pki.cesnet.cz/cs/ch-tcs-ev-ssl-ca-4-crt-crl.html | této stránky]]. |
==== Funkce ==== | ==== Funkce ==== | ||
Řádek 50: | Řádek 52: | ||
== URL == | == URL == | ||
- | ''%%https://tcs-dev.cesnet.cz/api/v2/certificate/request%%'' | + | ''%%https://tcs.cesnet.cz/api/v2/certificate/request%%'' |
== Metoda volání == | == Metoda volání == | ||
Řádek 96: | Řádek 98: | ||
"certificateValidity": 2, | "certificateValidity": 2, | ||
"notificationMail": [ | "notificationMail": [ | ||
- | admin1@myuniversity.cz, | + | "admin1@myuniversity.cz", |
- | admin2@myuniversity.cz, | + | "admin2@myuniversity.cz", |
- | server_admins@myuniversity.cz | + | "server_admins@myuniversity.cz" |
], | ], | ||
"requesterPhone": "+420123456789" | "requesterPhone": "+420123456789" | ||
Řádek 118: | Řádek 120: | ||
== URL == | == URL == | ||
- | ''%%https://tcs-dev.cesnet.cz/api/v2/certificate/status/<id>%%'' | + | ''%%https://tcs.cesnet.cz/api/v2/certificate/status/<id>%%'' |
== Metoda volání == | == Metoda volání == | ||
- | ''GET'' | + | ''GET'' nebo ''POST'' (je-li uveden volitelný argument) |
== Argumenty žádosti == | == Argumenty žádosti == | ||
^Klíč ^Uvedení ^Popis ^Povolené hodnoty / Příklad ^Implicitní hodnota ^ | ^Klíč ^Uvedení ^Popis ^Povolené hodnoty / Příklad ^Implicitní hodnota ^ | ||
- | | **id** | povinné | číslo ověřované žádosti | 1527791390 | - | | + | | **id** | povinné, vždy v URL | číslo ověřované žádosti | 1527791390 | - | |
+ | | **stopNotifications** | volitelné | žádost o zastavení aktuálních expiračních notifikací pro certifikáty se stejným CN v předmětu | JSON boolean (**true** nebo **false** bez uvozovek) | **false** | | ||
=== Výsledek volání === | === Výsledek volání === | ||
Řádek 153: | Řádek 156: | ||
} | } | ||
</code> | </code> | ||
+ | |||
+ | ===== TCS API klient ===== | ||
+ | <WRAP round tip 60%> | ||
+ | Pokud si mechanizmus strojové žádosti o TCS certifikát nechcete implementovat sami, existuje již hotový klient, kterého lze (včetně dokumentace) stáhnout na | ||
+ | [[https://github.com/jirutka/cesnet-tcs-cli|GitHubu]]. Klient není z dílny pracovníků CESNET CA, autorem je kolega Jakub Jirůtka z ČVUT FIT. | ||
+ | Veškeré náměty prosím směrujte [[jakub.jirutka@fit.cvut.cz|na něj]]. | ||
+ | </WRAP> | ||