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

Kako postaviti TCS certifikat AOSI web servisu?

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.

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.

Prije zamjene 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 https://certifikati.carnet.hr.

Nakon što dobijete certifikat i pripadajuću datoteku s lancem povjerenja, dovoljno je pratiti upute u nastavku.

Za primjenu certifikata na AOSI web servis potrebne su vam tri datoteke. 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:

  • cert-XXX-hostname.pem: datoteka koja sadrži vaš certifikat, obično je smještena u direktoriju /etc/ssl/certs/. To je datoteka koju ste dobili putem CARNetove TCS usluge. Ako ste ovaj certifikat dobili u obliku datoteke s ekstenzijom .crt, u PEM oblik ga možete pretvoriti naredbom:

    # openssl x509 -in cert-XXX-hostname.crt -out cert-XXX-hostname.pem -outform PEM
     
  • chain-XXX-hostname.pem: datoteka koja sadrži s lancem povjerenja (tzv. chain ili intermediate certificate). Obično je smještena u direktoriju /etc/ssl/certs/. I tu ste datoteku dobili posredstvom CARNetove TCS usluge.
     
  • hostname.key: ključ koji ste koristili za potpisivanje zahtjeva za certifikat. Obično se nalazi u direktoriju /etc/ssl/private/

 

Postupak primjene AOSI certifikata

Ako na poslužitelju imate instaliran debian Jessie

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

Certifikati i prijelazni certifikati (chain) se na Debianu standardno postavljaju u direktorij /etc/ssl/certs, a kljucevi u /etc/ssl/private.

Paket se instalira naredbom

# apt-get install certs-aai

U potupku instalacije trebate znati:

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

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

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

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

Zamjenu certifikata obavit ćete pokretanjem naredbe:

# dpkg-reconfigure certs-aai

kojom će se upisati novi certifikati.

Nakon upisivanja novih certifikata, AOSI web servis treba primjeniti nove cerifikate. Zato je potrebno pokrenuti naredbu:

# dpkg-reconfigure aosi-aai

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/cert-XXX-hostname.pem /etc/ssl/certs/chain-XXX-hostname.pem >> 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/cert-XXX-hostname.pem > 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