Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

...

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átyImage RemovedClient certificate handshakeImage Added

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

...

  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. 

    Varovanie

    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 1Image RemovedImage Added

  2. Ďalej klikneme pravým tlačidlom a vyberieme Generate Key Pair. 
    Postup generovania klientských certifikátov 2Image Removed
    Image Added
  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 3Image Removed
    Image Added
  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 4Image RemovedImage Added
  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 5Image Removed
    Image Added
  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 6Image RemovedImage Added
  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 7Image RemovedImage Added
  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 8Image RemovedImage Added
  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 9Image Removed Postup generovania klientských certifikátov 10Image RemovedImage AddedImage Added
  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 11Image RemovedImage Added

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.

...

  1. Image Added

Inštalácia klientskeho certifikátu

...

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 1Image RemovedImage Added

Android

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

...