Certifikatbaseret sikkerhed

Til enkelte services anvendes der certifikatbaseret sikkerhed (mTLS). Her er det et klientcertifikat, der f.eks. er installeret i anvenderens browser, der identificerer anvenderen.

For at et klientcertfikat kan give adgang skal dette være udstedt af den CA som servicen validerer op imod. Udover dette er der også krav til indholdet af certifikatet.

Certifikat krav

Nedenstående er de krav der er til certifikatet.

  • Skal være udstedt af CA som servicen validerer op imod.
  • Certifikatet skal indeholde emailadresse på brugeren.

Udstedelse af certifikat

Nedenstående beskriver hvordan man kan få udstedt et certifikat.

  1. Anvender skal generere en privat nøgle og en Certificate Signing Request (CSR). Dette kan gøres med nedenstående kommando.

    openssl req -new -newkey rsa:2048 -nodes -keyout cert-test.key -out cert-test.csr

    Her er det vigtigt at indtaste de korrekte værdier i forhold til kravende navn under certifikat krav

  2. Den genererede CSR sendes til vdx@medcom.dk der tjekker om de korrekte forudsætninger er på plads. Herefter sørger de for at leverandøren, KvalitetsIT, udsteder et certifikat på baggrund af den modtagne CSR.

  3. KvalitetsIT sørger for at verificere med Medcom at brugeren skal oprettes og sørger for at udstede det offentlige certifikat samt oprette brugeren i Keycloak. Det offentlige certifikat sendes tilbage til anvenderen.

  4. Anvender kan verificere at certifikat er udstedt af den korrekte CA med nedenstående kommando. CA’ens certifkat kan hentes på URL_CERT_CA. Nedenstående kommando kan anvendes til at verificere at certifikatet er udstedt af den korrekte CA.

    openssl verify -verbose -CAfile ca.pem cert-test.crt

  5. Anvender kan nu anvende certifkatet, sammen med den private nøgle, til identifikation.

  6. Certifikatet kan evt. testes i en browser på adressen URL_CERT_TEST.