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

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

Verzia 1 Ďalej »

Smart Web poporuje autentifikácie web klientov pomocou klientských 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 klientských certifikátov konfigurovateľné v súbore smartweb.json:

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

Nasledujúce kapitoly obsahujú odporúčania pre generovanie a správu klientských 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úbora 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žite 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úbora 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úbora 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 klientských 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 klientského certifikátu

Microsoft Windows 7/8/10 – desktop PC

Na import klientskych certifikátov je vhodné použiť aplikáciu certmgr.msc, ktorá je štandartnou 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

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

iOS

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

  • Žiadne štítky