Obzirom da AOSI web servis komunicira SOAP/HTTPS protokolom, umjesto self signed certifikata koji standardno dolazi s paketom aosi-aai za kriptiranje HTTPS prometa potrebno je postaviti valjani javno vjerodostojan certifikat. Postavljanje takvog certifikata omogućit će klijentima koji se spajaju na AOSI da automatski provjere ispravnost certifikata i budu sigurni da pripada ustanovi na čiji se AOSI spajaju.
Javno vjerodostojan certifikat je svaki certifikat koji je izdan od izdavatelja certifikata koji se nalaze na popisu javnih izdavatelja u obliku Trusted Certification Authorities datoteke koja je pridodana svim preglednicima, a održava ga Certification Authority Browser Forum.
Jedan od takvih izdavatelja je i CARNET servis pod nazivom TCS. Upute za dobivanje takvog certifikata navedene su na web stranici https://certifikati.carnet.hr
Izrada certifikata
Prije primjene novog certifikata potrebno je posjedovati certifikat izdan za poslužitelj na kojem se nalazi AOSI web servis.
Da bi certifikat bio valjan, u polju subject, u atributu CN (ili u ekstenziji Subject Alternative Name) mora imati ispravan hostname.
Ta vrijednost trebala bi biti jednaka vrijednosti koju vraća naredba:
hostname --fqdn
izvršena na poslužitelju na kojem se nalazi AOSI web servis (npr. mario.inst.hr).
Debian 13 (Trixie) - postavljanje certifikata
Za primjenu certifikata AOSI web servisa potrebne su dvije datoteke (ekstenzija nije bitna, bitno je da su PEM enkodirani). U prvoj se nalazi serverski certifikat s pripadajućim intermediate certifikatima (obično ima nastavak .crt, .cer, .pem), a u drugoj se nalazi ključ certifikata (obično ima nastavak .key, .pem) .
Kod preuzimanja certifikata s HARICA portala potrebno je odabrati format PEM bundle.
Dobra praksa je smjestiti navedene datoteke na sljedeća mjesta :
- serverski certifikat
- putanja:
/etc/ssl/certs/ - naziv datoteke:
<hostname>.crt(npr. mario_inst_hr.crt)
- putanja:
- ključ
- putanja:
/etc/ssl/private/ - naziv datoteke:
<hostname>.key(npr. mario_inst_hr.key)
- putanja:
VAŽNO: aosi web servis se izvršava pod korisnikom aosi. Bitno je osigurati da korisnik aosi smije čitati datoteke s certifikatom i ključem. Korisnik aosi je u grupi aosi pa je jedan od načina kako to postići, postaviti da su direktorij i datoteke s certifikatom u vlasništvu grupa aosi te da grupa ima pravo čitanja datoteka / ulaska u direktorij.
Pokrenuti naredbu za dohvat informacija o najnovijim paketima:
# apt-get update
Pokrenuti instalaciju naredbom:
# apt-get install certs-aai
Ako paket ne postoji u postupku instalacije treba:
- na prvoj formi odabrati Yes/Da
- u drugoj formi unijeti cijelu putanju do datoteke s certifikatom i pripadajućim intermediate certifikatima (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/mario_inst_hr.crt
- u trećoj formi unijeti cijelu putanju do datoteke s ključem (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/private/mario_inst_hr.key
Pokrenuti rekonfiguraciju paketa, ako u prethodnom koraku nije pitano za certifikate.
# dpkg-reconfigure certs-aai
U postupku zamjene postojećih certifikata treba:
- na prvoj formi odabrati Yes/Da
- u drugoj formi unijeti cijelu putanju do datoteke s certifikatom i pripadajućim intermediate certifikatima (postavljen prije). Na primjer, ona će izgledati ovako: /etc/ssl/certs/mario_inst_hr.crt
- u trećoj formi unijeti cijelu putanju do datoteke s ključem (postavljen prije). Na primjer, ona će izgledati ovako: /etc/ssl/private/mario_inst_hr.key
Po obavljenom postupku postavljanja certifikata treba obaviti postupak primjene certifikata iz zadnjeg poglavlja ovih uputa.
Debian 12 (Bookworm) - postavljanje certifikata
Za primjenu certifikata AOSI web servisa potrebne su dvije datoteke (ekstenzija nije bitna, bitno je da su PEM enkodirani). U prvoj se nalazi serverski certifikat s pripadajućim intermediate certifikatima (obično ima nastavak .crt, .cer, .pem), a u drugoj se nalazi ključ certifikata (obično ima nastavak .key, .pem) .
Dobra praksa je smjestiti navedene datoteke na sljedeća mjesta :
- serverski certifikat
- putanja:
/etc/ssl/certs/ - naziv datoteke:
<hostname>.crt(npr. mario_inst_hr.crt)
- putanja:
- ključ
- putanja:
/etc/ssl/private/ - naziv datoteke:
<hostname>.key(npr. mario_inst_hr.key)
- putanja:
VAŽNO: aosi web servis se izvršava pod korisnikom aosi. Bitno je osigurati da korisnik aosi smije čitati datoteke s certifikatom i ključem. Korisnik aosi je u grupi aosi pa je jedan od načina kako to postići, postaviti da su direktorij i datoteke s certifikatom u vlasništvu grupa aosi te da grupa ima pravo čitanja datoteka / ulaska u direktorij.
Pokrenuti naredbu za dohvat informacija o najnovijim paketima:
# apt-get update
Pokrenuti instalaciju naredbom:
# apt-get install certs-aai
Ako paket ne postoji u postupku instalacije treba:
- na prvoj formi odabrati Yes/Da
- u drugoj formi unijeti cijelu putanju do datoteke s certifikatom i pripadajućim intermediate certifikatima (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/mario_inst_hr.crt
- u trećoj formi unijeti cijelu putanju do datoteke s ključem (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/private/mario_inst_hr.key
Pokrenuti rekonfiguraciju paketa, ako u prethodnom koraku nije pitano za certifikate.
# dpkg-reconfigure certs-aai
U postupku zamjene postojećih certifikata treba:
- na prvoj formi odabrati Yes/Da
- u drugoj formi unijeti cijelu putanju do datoteke s certifikatom i pripadajućim intermediate certifikatima (postavljen prije). Na primjer, ona će izgledati ovako: /etc/ssl/certs/mario_inst_hr.crt
- u trećoj formi unijeti cijelu putanju do datoteke s ključem (postavljen prije). Na primjer, ona će izgledati ovako: /etc/ssl/private/mario_inst_hr.key
Po obavljenom postupku postavljanja certifikata treba obaviti postupak primjene certifikata iz zadnjeg poglavlja ovih uputa.
Debian 11 (Bullseye) - postavljanje certifikata
Za primjenu certifikata AOSI web servisa potrebne su tri datoteke (ekstenzija nije bitna, bitno je da su PEM enkodirani). U prvoj se nalazi serverski certifikat (obično ima nastavak .crt, .cer, .pem), u drugoj intermediate certifikati (obično ima nastavak .pem), a u trećoj se nalazi ključ certifikata (obično ima nastavak .key, .pem) .
Dobra praksa je smjestiti navedene datoteke na sljedeća mjesta:
- serverski certifikat
- putanja:
/etc/ssl/certs/ - naziv datoteke:
<hostname>.crt(npr. mario_inst_hr.crt)
- putanja:
- intermidiet certifikati
- putanja:
/etc/ssl/certs/ - naziv datoteke:
<kratki_naziv_izdavatelja>.pem(npr. harica.pem)
- putanja:
- ključ
- putanja:
/etc/ssl/private/ - naziv datoteke:
<hostname>.key(npr. mario_inst_hr.key)
- putanja:
VAŽNO: aosi web servis se izvršava pod korisnikom aosi. Bitno je osigurati da korisnik aosi smije čitati datoteke s certifikatom i ključem. Korisnik aosi je u grupi aosi pa je jedan od načina kako to postići, postaviti da su direktorij i datoteke s certifikatom u vlasništvu grupa aosi te da grupa ima pravo čitanja datoteka s ključem i certifikatima / ulaska u direktorij.
Pokrenuti naredbu za dohvat informacija o najnovijim paketima:
# apt-get update
Pokrenuti instalaciju naredbom:
# apt-get install certs-aai
Ako paket ne postoji u postupku instalacije treba:
- Na prvoj formi odabrati Yes/Da
- U drugoj formi unijeti cijelu putanju do datoteke s certifikatom (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/mario_inst_hr.crt
- u trećoj formi unijeti cijelu putanju do datoteke s intermediate certifikatima (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/harica.pem
- U četvrtoj formi unijeti cijelu putanju do datoteke s ključem (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/private/mario_inst_hr.key
Pokrenuti rekonfiguraciju paketa, ako u prethodnom koraku nije pitano za certifikate
# dpkg-reconfigure certs-aai
U postupku zamjene postojećih certifikata treba:
- Na prvoj formi odabrati Yes/Da
- U drugoj formi unijeti cijelu putanju do datoteke s certifikatom (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/mario_inst_hr.crt
- u trećoj formi unijeti cijelu putanju do datoteke s intermediate certifikatima (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/certs/harica.pem
- U četvrtoj formi unijeti cijelu putanju do datoteke s ključem (postavljen prije). Na primjer, putanja će izgledati ovako: /etc/ssl/private/mario_inst_hr.key
Po obavljenom postupku postavljanja certifikata treba obaviti postupak primjene certifikata iz zadnjeg poglavlja ovih uputa.
Primjena certifikata
Nakon postavljanja novih certifikata, AOSI web servis treba primijeniti novi certifikat. Primjena novih certifikata provodi se izvođenjem sljedećih naredbi:
Prije pokretanja naredbi
Prilikom pokretanja naredbe dpkg-reconfigure aosi-aai potrebno je unijeti zaporku LDAP administratorskog (sistemskog) korisnika čiji je dn: cn=admin, dc=<domena>, dc=hr (npr. cn=admin, dc=inst, dc=hr), ne radi se o fizičkoj osobi/korisniku s ovlastima ažuriranja podataka putem web sučelja već o "sistemskom korisniku". Ta je zaporka zapisana u datoteci /etc/aosi/ldap_pwd.
Rekonfiguracija aosi-aai paketa
# dpkg-reconfigure aosi-aai
Restartati AOSI web servis naredbom
# systemctl restart aosi-aai
Kako provjeriti ispravnost certifikata AOSI web servisa?
# openssl s_client -showcerts -connect hostname.domena.hr:1443
Datume od kad do kad vrijedi certifikat možete provjeriti naredbom:
# openssl s_client -showcerts -connect hostname.domena.hr:1443 | openssl x509 -noout -dates
* hostname.domena.hr trebate zamijeniti nazivom svog poslužitelja na kojem se izvršava AOSI web servis.