Sertifikaatin asennus

Mikä on sertifikaatti?

Sertifikaatti on dokumentti, joka varmistaa esimerkiksi palvelun aitouden. Maksuttomia sertifikaatteja voi hakea Let’s Encrypt -palvelusta, tai tehdä itse. Itse tehty sertifikaatti ei toimi https:// -verkkosivujen varmenteena, koska se ei ole ns. kolmannen osapuolen vahvistama eikä sen vuoksi luotettava.

Palveluntarjoajan oma, itse tehty, sertifikaatti saattaa kuitenkin olla paras vaihtoehto toteutettaessa palveluja, jotka perustuvat palvelun tarjoajan ja asiakkaan väliseen sopimukseen. Kaikkien verkkosivulla vierailevien kanssa ei ole mahdollista tehdä kahdenvälistä sopimusta, joten siinä se ei toimi.

Sertifikaatti säätösalaojan ohjaukseen

Kirjautuessa palveluun tarkistetaan sertifikaatin allekirjoitus, joten ainoastaan palveluntarjoajan itse allekirjoittamat sertifikaatit ovat hyväksyttyjä

  1. Ensin tehdään asiakkaan avain – client.key
    • openssl genrsa -out client.key 2048
  2. Sen jälkeen muodostetaan varmennepyyntö – client.csr
    • openssl req -new -out client.csr -key client.key
    • Varmennepyyntöä muodostettaessa kysytään tunnus, joka varmennetaan
  3. Lopuksi allekirjoitetaan varmennepyyntö CA:n avaimella – client.crt
    • openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 360

MQTT-välityspalvelimelle rekisteröitymiseen tarvitset CA- ja client-sertifikaatit sekä client-avaimen (ca.crt, client.crt ja client.key). CA-avainta ei tarvita kirjautumiseen. Tiedosto ca.key tarvitaan vain allekirjoitettaessa client.crt

Sertifikaati MQTT-Sparkplug reunasolmuun

MQTT-välityspalvelimelle rekisteröitymiseen tarvitaan CA- ja client-sertifikaatit sekä client-avain. Node-RED Sparkplug -solmun asetukset tehdään seuraavasti. Kaksois-klikkaa solmu niin saat auki solmun asetukset:

Klikkaa muokkauspainiketta Broker -rivillä ja pääset välityspalvelin asetuksiin:

Aktivoi ”Use TLS” ja klikkaa ko. rivin muokkauspainiketta ja voit antaa ko. Node-RED solmulle client.crt, client.key ja ca.crt tiedostot.

Tiedostot tarvitsee linkittää vain kerran. Kaikki ohjelman Node-RED solmut, jotka käyttävät samaa SSK-MQTTS -välityspalvelinta (broker) rekisteröityvät.

ACL-pääsynhallinta mqtts.galileo.fi palvelimella

Client-sertifikaatin (client.crt) varmistama asiakastunnus, joka kysytään varmennepyyntöä (client.csr) muodostettaessa toimii avaimena MQTT-Sparkplug -viestien välityksessä asiakkaalle. Ainostaan se asiakastunnus, joka vastaa viestissä olevaa ryhmätunnusta (group_id) saa viestin vastaanotettua.

Esimerkiksi MQTT viestin: spBv1.0/1234567890/DCMD/SP1/B3 voi vastaanottaa vain asiakas 1234567890, jolla on voimassa oleva sertifikaatti.