Autentikacijska i autorizacijska infrastruktura sustava znanosti i visokog obrazovanja u Republici Hrvatskoj
  • Hrvatski
  • English

Kako postaviti TCS certifikat AOSI web servisu?

TCS certifikat AOSI web servisa

Obzirom da AOSI web servis komunicira SOAP/HTTPS protokolom, umjesto self signed certifikata koji standardno dolazi s aosi-aai paketom za kriptiranje HTTPS prometa moguće je postaviti valjani TCS certifikat. Postavljanje valjanog TCS 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.

Prije primjene novog certifikata potrebno je posjedovati TCS certifikat izdan za poslužitelj na kojem se nalazi AOSI web servis. Upute za dobivanje takvog certifikata navedene su na web stranici http://certifikati.carnet.hr

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. 

Za primjenu certifikata AOSI web servisa potrebne su tri datoteke:

hostname.crt, DigiCertCA.crt i hostname.key.

Napominjemo da su nazivi datoteka generički i ne odgovaraju nazivima tih datoteka na vašem poslužitelju pa stoga u nastavku donosimo objašnjenje što je u pojedinoj datoteci:

  • hostname.crt: datoteka koja sadrži vaš certifikat, obično se smješta u direktoriju /etc/ssl/certs/ ili direktorij /etc/ssl/ssl/. To je datoteka koju ste dobili putem CARNetove TCS usluge. 
     
  • DigiCertCA.crt: datoteka s lancem povjerenja (tzv. chain ili intermediate certificate). Obično se smješta u direktoriju /etc/ssl/certs/ ili direktorij /etc/ssl/ssl/. I tu ste datoteku dobili posredstvom CARNetove TCS usluge.
     
  • hostname.key: ključ koji ste koristili za potpisivanje zahtjeva za certifikat. Obično se smješta u direktorij /etc/ssl/private/.

 

Kako postaviti TCS certifikat AOSI web servisu (Debian Jessie ili noviji)?

(U nastavku je u 3. koraka opisan postupak primjene novog AOSI certifikata ako na poslužitelju imate instaliran Debian Jessie ili noviji):

1. Za debian Jessie postoji paket certs-aai koji je zadužen za postavljanje certifikata. 

Paket se instalira naredbom:

# apt-get install certs-aai

U potupku instalacije trebate znati:

Putanju do poslužiteljskog certifikata (crt):
npr. /etc/ssl/certs/hostname.crt

Putanju do certifikata s lancem povjerenja (tzv. chain ili intermediate certificate):
obično: /etc/ssl/certs/DigiCertCA.crt

Putanja do ključa koji ste koristili za potpisivanje zahtjeva za certifikat (key):
obično: /etc/ssl/private/hostname.key

(Certifikat i prijelazni certifikat (chain) se na Debianu standardno postavljaju u direktori /etc/ssl/certs ili /etc/ssl/ssl/, a ključevi u /etc/ssl/private).

Ako imate instaliran paket certs-aai, paket aosi-aai će kod instalacije znati prepoznati i primjeniti ispravne certifikate.

2. Zamjenu certifikata obavit ćete pokretanjem naredbe:

# dpkg-reconfigure certs-aai

kojom će se upisati novi certifikati.

3. Nakon upisivanja novog certifikata, AOSI web servis treba primjeniti novi cerifikat. Zato je potrebno pokrenuti naredbu:

# dpkg-reconfigure aosi-aai

VAŽNA NAPOMENA!

Prilikom pokretanja gornje naredbe dpkg-reconfigure aosi-aai potrebno je unijeti zaporku LDAP administratorskog (sistemskog) korisnika čiji je dn: cn=admin, dc=domena, dc=hr (dakle, ne radi se o fizičkoj osobi/korisniku sa ovlastima ažuriranja podataka putem web sučelja već o "sistemskom korisniku"). 

 

 

Kako postaviti TCS certifikat AOSI web servisu ako na poslužitelju imate instaliranu drugu inačicu debiana?

U prvom se koraku pozicionirate u direktorij u kojem trebaju biti certifikati koje koristi AOSI web servis:

# cd /etc/aosi/certs/

Za svaki slučaj stare je certifikate potrebno sačuvati, pa ćemo ih preimenovati:

# mv aosi_cert.pem aosi_cert.pem.orig
# mv aosi_key.pem aosi_key.pem.orig

Nakon toga je potrebno u jednu datoteku konkatenirati vaš certifikat zajedno s onim u kojem je lanac povjerenja (chain ili intermediate certificate). Redoslijed JEST bitan!

# cat /etc/ssl/certs/hostname.crt /etc/ssl/certs/DigiCertCA.crt >> aosi_cert.pem

VAŽNO: putem CARNetove TCS usluge kroz povijest izdavano je više vrsta certifikata. Neki od njih u sebi već sadrže certifikat s lancem povjerenja, pa njega nije potrebno posebno konkatenirati. Ako je to slučaj na vašoj ustanovi, umjesto gornje naredbe pokrenite sljedeću:

# cat /etc/ssl/certs/hostname.crt > aosi_cert.pem

U sljedećem koraku potrebno je u isti direktorij postaviti i ključ kojim ste potpisali zahtjev za certifikat.

# cat /etc/ssl/private/hostname.key > aosi_key.pem

Da bi AOSI učitao nove certifikate potrebno ga je restartati:

# /etc/init.d/aosi-aai stop
# /etc/init.d/aosi-aai start

 

Važne napomene!

  1. Upute su pisane generički, što znači da nazivi certifikata, te staze do njih možda ne odgovaraju stanju na vašem poslužitelju. Molimo da ih sami prilagodite;
     
  2. Uputu kako kreirati .pem sa cijelim lancem povjerenja možete pronaći ovdje.
     
  3. Kod konkatenacije certifikata u aosi_cert.pem bitan je redoslijed kojim se certifikati konkateniraju. Pazite na to da prvo ide poslužiteljski certifikat, pa chain;
     
  4. aosi_key.pem i aosi_cert.pem datoteke moraju biti u vlasništvu root:aosi i grupa (aosi) mora imati pravo čitanja. Ako ste slijedili upute, dozvole su već ispravno postavljene. Ispravno vlasništvo nad datotekama možete postaviti naredbama:

# chown root:aosi aosi_key.pem
# chown root:aosi aosi_cert.pem


Ispravne dozvole na datotekama možete postaviti naredbama:

# chmod 640 aosi_key.pem
# chmod 640 aosi_cert.pem