Vidíte historickú verziu tejto stránky. Pozrite si aktuálnu verziu.

Porovnať s aktuálnou verziou Zobraziť históriu stránky

« Predchádzajúce Verzia 4 Ďalej »

Smart Web podporuje autentifikácie web klientov pomocou klientskych certifikátov. Jedná sa o špeciálny režim autentifikácie klientov známy ako ‘Mutual authentication’ alebo ‘HTTPS client authentication’ alebo TLS Client Certificate Authentication.

Handshake pri autentifikácii cez klientské certifikáty

Smart Web podporuje dva režimy overovania klientskych certifikátov konfigurovateľné v súbore smartweb.json:

  1. Lokálne overovanie (AUTH_CERTIFICATE_LOCALLY) na strane WildFly AS
  2. Vzdialené overovanie (AUTH_CERTIFICATE_REMOTELY) v aplikácii D2000

Nasledujúce kapitoly obsahujú odporúčania pre generovanie a správu klientskych certifikátov.

Postup generovania klientských certifikátov

Klientske certifikáty sa generujú pomocou nástroja KeyStore Explorer. Postup je nasledovný:

  1. Je potrebné vytvoriť keystore, v ktorom bude uložený self-signed companyca keypair. Názov tohto súboru je master-client-credentials.jks. Vytvorí sa nasledovne, po štarte programu vybrať Create a new KeyStore, kde definujeme typ KeyStoru v našom prípade JKS. 

    Súbor master-client-credentials.jks sa nepoužíva priamo na serveroch, ale slúži len ako repository certifikátov. Zo súboru master-client-credentials.jks sa nikdy neexportuje privátny kľúč companyca !!! 

    Postup generovania klientských certifikátov 1

  2. Ďalej klikneme pravým tlačidlom a vyberieme Generate Key Pair. 

    Postup generovania klientských certifikátov 2
  3. Algorithm Selection necháme na RSA s hodnotou Key Size 2048. Ďalej vyberieme verziu 3, Signature Alghorithm SHA-256 with RSA a dobu platnosti. Pri položke Name je dôležité vyplniť čo najviac údajov pre dôveryhodnosť. Postup generovania klientských certifikátov 3
  4. Následne zvolíme Alias a heslo companyca Key Pair-u. Ďalej uložíme KeyStore pod menom master-client-credentials.jks. Pri ukladaní sa opäť vyžaduje nastavenie hesla, tentokrát však na KeyStore.
    Postup generovania klientských certifikátov 4
  5. Pre každého klienta je potrebné vygenerovať key-pair podpísaný pomocou companyca. Postupujeme tak, že klikneme pravým na companyca v menu zvolíme Sign a Sign New Key Pair. Vytvoríme nový KeyPair pre ClientaA s nastaveniami šifrovania ako pri companycaPostup generovania klientských certifikátov 5
  6. Pre overenie, že je klientsky KeyPair podpísaný companyca autoritou, klikneme pravým na ClientaAa vyberieme z menu View Details a Certificate Chain Details. V danom okne je vidieť, že vlastníkom je companyca autorita.
    Postup generovania klientských certifikátov 6
  7. Zo súboru master-client-credentials.jks sa exportujú certifikáty klientov a companyca do súborov clientcertificates-full.jks, client-certificates-d2ws.jks, client-certificates-d2000.jks. Dávajú sa na servery obsahujú verejné kľúče. Certifikáty jednotlivých klientov a companyca vyexportujeme kliknutím na klienta, prípadne companyca a dáme Export a Export Certificate Chain.
    Postup generovania klientských certifikátov 7
  8. Pri exporte ponecháme nastavenia prípadne upravíme cestu, kde sa ma certifikát uložiť a klikneme na export.
     Postup generovania klientských certifikátov 8
  9. Keď sú všetky certifikáty vyexportované, uložíme ich do clientcertificates-full.jks a to tak, že vytvoríme nový JKS súbor cez menu programu KeyStore File > New a vyberieme typ JKS. Tu naimportujeme certifikáty kliknutím pravým tlačidlom myši a vyberieme Import Trusted Certificate a certifikát, ktorý chceme importovať.
    Postup generovania klientských certifikátov 9 Postup generovania klientských certifikátov 10
  10. Po naimportovaní KeyStore uložíme ako clientcertificates-full. Opäť je vyžadovanie nastavenie hesla na tento JKS súbor.
    Tento súbor clientcertificates-full.jks uložíme na konkrétny server, kde to je vyžadované.
  11. Zo súboru master-client-credentials.jks sa exportujú key-pairs klientov vo formáte *.p12 (obsahujú verejné aj privátne kľúče, dáva sa zákazníkovi na zariadenie (PC, Tablet ...)). Export vykonáme v súbore master-client-credentials.jks, kde klikneme pravým tlačidlom na jednotlivých klientov a dáme Export > Export Key Pair. V zložke sa nám vytvoria súbory ClientA.p12 a ClientB.p12, ktoré sa pošlú jednotlivým užívateľom na zariadenia.
    Postup generovania klientských certifikátov 11

Správa klientskych certifikátov

  1. master-client-credentials.jks keystore obsahuje master companyca key-pair a ním podpísané klientske key-pairs.
  2. Klientske certifikáty pre klientov Smart Web aplikácie a companyca certifikát je potrebné vyexportovať do súboru client-certificates-full.jks, ktorý musí byť prístupný na čítanie pre jvm proces, v ktorom beží WildFly AS.
  3. Klientske certifikáty a privátne kľúče je potrebné exportovať zo súboru master-client-credentials.jks vo formáte *.p12.

Správa klientských certifikátov

Inštalácia klientskeho certifikátu

Microsoft Windows 7/8/10 – desktop PC

Na import klientskych certifikátov je vhodné použiť aplikáciu certmgr.msc, ktorá je štandardnou súčasťou OS Windows. Je potrebné vybrať priečinok “Personal” a zvoliť akciu import pre príslušný *.p12 key-pair.

Postup inštalácie klientských certifikátov 1

Android

Klientsky *.p12 key-pair je potrebné uložiť do adresára “Downloads” a importovať cez nastavenia systému.

iOS

Klientsky *.p12 key-pair je potrebné poslať v prílohe mailom na klientske zariadenia importovať cez nastavenia systému.

  • Žiadne štítky