Hej eleg-projekt-listan!
Jag har precis satt upp en enkel webbsida där mTLS används så att man behöver ett giltigt certifikat (motsvarande en e-legitimation utfärdad med vår test-CA-programvara) för att kunna komma åt sidan.
Sidan är https://lab.joxaren.se och försöker man gå dit nu möts man av "400 Bad Request" och "No required SSL certificate was sent".
Det fungerar om jag ansluter med curl och anger mina cert- och nyckel-filer så här:
curl --cert my_eid.crt.pem --key my_eid.key.pem https://lab.joxaren.se
Då får jag sidans innehåll, som bara är ett litet testmeddelande. Poängen är att om man ansluter med ett giltigt certifikat så får man inte längre "400 Bad Request" utan man kommer till sidans riktiga innehåll.
Det är nu gjort med nginx och enda skillnaden mot en helt vanlig webbsida här att de här två raderna lagts till i nginx-konfigurationen på webbservern:
ssl_client_certificate /home/elias/issuingca.crt.pem; ssl_verify_client on;
Filen /home/elias/issuingca.crt.pem är skapad med vår CA-programvara, den filen behöver alltså distribueras från utfärdaren så att alla som ska agera avkrävare (förlitande part) har tillgång till den filen.
Den som kan tänka sig att vara med och testa får gärna höra av sig till mig, då kan vi pröva att du skapar ett nyckelpar och en certificate signing request (CSR) som du skickar till mig, jag utfärdar ett certifikat (e-leg för test) till dig som jag skickar tillbaka till dig, och sen ska du kunna komma åt https://lab.joxaren.se med hjälp av ditt certifikat och din privata nyckel.
/ Elias
Hej igen,
Någon frågade om precis hur man gör om man vill vara med och testa, så jag försöker svara på det här. Ni som har bättre förslag på hur det kan eller bör göras, hör gärna av er!
Om man har en dator med GNU/Linux eller liknande och kommandot "openssl" finns installerat, kan man köra följande två kommandon i ett terminalfönster:
openssl genrsa -out my-private-key 4096
openssl req -new -key my-private-key -subj '/CN=test' -out my-csr
Det första kommandot skapar en privat nyckel som hamnar i filen "my-private-key" och det andra kommandot skapar en certificate signing request (CSR) som hamnar i filen "my-csr".
Om man inte har kommandot "openssl" kan det installeras med "apt install openssl" eller motsvarande.
De två filerna som skapas är alltså:
- "my-private-key": din privata nyckel som ingen annan än du själv någonsin ska ha tillgång till. (att ha den privata nyckeln i en vanlig fil så här är smidigt för testsyfte men för säkerhet är det bättre att använda en hårdvarunyckel, vi får återkomma senare till instruktioner för hur det kan gå till)
- "my-csr": den certificate signing request (CSR) som du behöver ge till utfärdaren för att utfärdaren sen ska kunna skapa ett personligt certifikat åt dig.
Så, för att vi ska kunna testa att skapa ett personligt certifikat åt dig, börja med att köra de två openssl-kommandona ovan och skicka sen CSR-filen till utfärdaren (alltså till mig, eftersom jag agerar utfärdare i det här testet).
/ Elias
On 2024-04-21 13:12, Elias Rudberg via Eleg-projekt wrote:
Hej eleg-projekt-listan!
Jag har precis satt upp en enkel webbsida där mTLS används så att man behöver ett giltigt certifikat (motsvarande en e-legitimation utfärdad med vår test-CA-programvara) för att kunna komma åt sidan.
Sidan är https://lab.joxaren.se och försöker man gå dit nu möts man av "400 Bad Request" och "No required SSL certificate was sent".
Det fungerar om jag ansluter med curl och anger mina cert- och nyckel-filer så här:
curl --cert my_eid.crt.pem --key my_eid.key.pem https://lab.joxaren.se
Då får jag sidans innehåll, som bara är ett litet testmeddelande. Poängen är att om man ansluter med ett giltigt certifikat så får man inte längre "400 Bad Request" utan man kommer till sidans riktiga innehåll.
Det är nu gjort med nginx och enda skillnaden mot en helt vanlig webbsida här att de här två raderna lagts till i nginx-konfigurationen på webbservern:
ssl_client_certificate /home/elias/issuingca.crt.pem; ssl_verify_client on;
Filen /home/elias/issuingca.crt.pem är skapad med vår CA-programvara, den filen behöver alltså distribueras från utfärdaren så att alla som ska agera avkrävare (förlitande part) har tillgång till den filen.
Den som kan tänka sig att vara med och testa får gärna höra av sig till mig, då kan vi pröva att du skapar ett nyckelpar och en certificate signing request (CSR) som du skickar till mig, jag utfärdar ett certifikat (e-leg för test) till dig som jag skickar tillbaka till dig, och sen ska du kunna komma åt https://lab.joxaren.se med hjälp av ditt certifikat och din privata nyckel.
/ Elias _______________________________________________ Eleg-projekt mailing list -- eleg-projekt@lists.dfri.se To unsubscribe send an email to eleg-projekt-leave@lists.dfri.se