ProHoster > Blog > podávání > Zkušenosti s používáním technologie Rutoken pro registraci a autorizaci uživatelů v systému (část 3)
Zkušenosti s používáním technologie Rutoken pro registraci a autorizaci uživatelů v systému (část 3)
Dobrý den!
V předchozí části Úspěšně jsme vytvořili vlastní certifikační centrum. Jak může být užitečný pro naše účely?
Pomocí lokální certifikační autority můžeme vydávat certifikáty a také ověřovat podpisy na těchto certifikátech.
Při vydávání certifikátu uživateli používá certifikační autorita speciální žádost o certifikát Pkcs#10, která má formát souboru '.csr'. Tento požadavek obsahuje zakódovanou sekvenci, kterou certifikační autorita ví, jak správně analyzovat. Požadavek obsahuje jak veřejný klíč uživatele, tak data pro vytvoření certifikátu (asociativní pole s údaji o uživateli).
Na to, jak obdržet žádost o certifikát, se podíváme v příštím článku a v tomto článku chci uvést hlavní příkazy certifikační autority, které nám pomohou dokončit náš úkol na straně backendu.
Nejprve tedy musíme vytvořit certifikát. K tomu použijeme příkaz:
openssl ca -batch -in user.csr -out user.crt
ca je příkaz openSSL, který se vztahuje k certifikační autoritě,
-batch - zruší požadavky na potvrzení při generování certifikátu.
user.csr — požadavek na vytvoření certifikátu (soubor ve formátu .csr).
user.crt - certifikát (výsledek příkazu).
Aby tento příkaz fungoval, musí být certifikační autorita nakonfigurována přesně podle popisu v předchozí části článku. V opačném případě budete muset dodatečně zadat umístění kořenového certifikátu certifikační autority.
cms je příkaz openSSL, který se používá pro podepisování, ověřování, šifrování dat a další kryptografické operace pomocí openSSL.
-verify - v tomto případě ověříme certifikát.
authenticate.cms - soubor obsahující data podepsaná certifikátem, který byl vydán předchozím příkazem.
-informujte PEM - je použit formát PEM.
-CAfile /Users/……/demoCA/ca.crt - cesta ke kořenovému certifikátu. (bez toho mi příkaz nefungoval, přestože cesty k ca.crt byly zapsány v souboru openssl.cfg)
-out data.file — Pošlu dešifrovaná data do souboru data.file.
Algoritmus pro použití certifikační autority na straně backendu je následující:
Registrace uživatele:
Obdržíme požadavek na vytvoření certifikátu a jeho uložení do souboru user.csr.
První příkaz tohoto článku uložíme do souboru s příponou .bat nebo .cmd. Tento soubor spouštíme z kódu, když jsme předtím uložili požadavek na vytvoření certifikátu do souboru user.csr. Obdržíme soubor s certifikátem user.crt.
Přečteme soubor user.crt a odešleme jej klientovi.
Autorizace uživatele:
Přijmeme podepsaná data od klienta a uložíme je do souboru authenticate.cms.
Uložte druhý příkaz tohoto článku do souboru s příponou .bat nebo .cmd. Tento soubor spustíme z kódu, když jsme předtím uložili podepsaná data ze serveru do authenticate.cms. Obdržíme soubor s dešifrovanými daty data.file.
Přečteme data.file a zkontrolujeme platnost těchto dat. Je popsáno, co přesně zkontrolovat v prvním článku. Pokud jsou data platná, autorizace uživatele je považována za úspěšnou.
K implementaci těchto algoritmů můžete použít jakýkoli programovací jazyk, který se používá k psaní backendu.
V příštím článku se podíváme na to, jak pracovat s pluginem Retoken.