cs:tcs-api-documentation.html

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
Poslední revize Obě strany příští revize
cs:tcs-api-documentation.html [2018/06/29 11:36]
dans@cesnet.cz [Funkce]
cs:tcs-api-documentation.html [2024/02/14 12:11]
Daniel Studený
Řádek 2: Řádek 2:
  
 Od **1. 7. 2018** je možné požádat o **serverový certifikát TCS** prostřednictvím API rozhraní. O jiné, než serverové certifikáty přes toto rozhraní žádat **nelze**. Od **1. 7. 2018** je možné požádat o **serverový certifikát TCS** prostřednictvím API rozhraní. O jiné, než serverové certifikáty přes toto rozhraní žádat **nelze**.
- 
-<WRAP alert> 
-**Upozornění:​** Tento návod se vztahuje ke službě, která dosud není aktivní a je prozatím určen pouze pro přípravu v budoucnu napojených systémů klientů. 
-Nepokoušejte se prosím připojit k popisovanému API před datem spuštění,​ tj. **1. 7. 2018**. API je připravováno na jiném serveru a k jeho překlopení dojde až prvního července. 
-</​WRAP>​ 
  
 ===== 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 17: Řá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 27: Řá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 34: Řá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 43: Řá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 55: Řá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 63: Řádek 60:
  
 ^Klíč ​ ^Uvedení ^Popis ​ ^Povolené hodnoty / Příklad ​ ^Implicitní hodnota ^ ^Klíč ​ ^Uvedení ^Popis ​ ^Povolené hodnoty / Příklad ​ ^Implicitní hodnota ^
-| **certificateRequest** | povinné | žádost o certifikát \\ v BASE64 kódovaném formátu \\ PKCS10 (formát PEM) | -----BEGIN CERTIFICATE REQUEST----- \\ ... \\ -----END CERTIFICATE REQUEST----- | - |+| **certificateRequest** | povinné | žádost o certifikát \\ v BASE64 kódovaném formátu \\ PKCS10 (formát PEM) | **-----BEGIN CERTIFICATE REQUEST-----** \\ ... \\ **-----END CERTIFICATE REQUEST-----** | - |
 | **certificateType** | volitelné | profil (typ) certifikátu | **ov** nebo **es** nebo **ev** \\ (běžné ověření; \\ gridový certifikát;​ \\ rozšířené ověření) | **ov** | | **certificateType** | volitelné | profil (typ) certifikátu | **ov** nebo **es** nebo **ev** \\ (běžné ověření; \\ gridový certifikát;​ \\ rozšířené ověření) | **ov** |
 | **certificateValidity** | volitelné | doba platnosti certifikátu [roky] | **1** nebo **2** | **1** | | **certificateValidity** | volitelné | doba platnosti certifikátu [roky] | **1** nebo **2** | **1** |
 | **subjectLanguage** |  volitelné | jazyková verze jména organizace \\ v předmětu certifikátu | **cs** nebo **en** nebo **ac** \\ (česká; anglická; ASCII) | **cs** | | **subjectLanguage** |  volitelné | jazyková verze jména organizace \\ v předmětu certifikátu | **cs** nebo **en** nebo **ac** \\ (česká; anglická; ASCII) | **cs** |
-| **notificationMail** | volitelné | e-mailová adresa pro upozornění \\ a informace o certifikátu | horymir.neumetelsky@cesnet.cz | - | +| **notificationMail** | volitelné | e-mailová adresa pro upozornění \\ a informace o certifikátu | **horymir.neumetelsky@cesnet.cz** | - | 
-| **requesterPhone** | povinné | telefon pro ověření žadatele \\ v mezinárodním formátu E.123 | +420123456789 | - |+| **requesterPhone** | povinné | telefon pro ověření žadatele \\ v mezinárodním formátu E.123 | **+420123456789** | - |
  
 <wrap em>​Poznámky:</​wrap>​ <wrap em>​Poznámky:</​wrap>​
Řádek 101: Řá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 123: Řá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 158: Řá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>​
  
  
Poslední úprava:: 2024/02/14 12:12