Skoči na glavno vsebino

Zahteva za certifikat: tehnična navodila

Navodila opisujejo primer generiranja zahtevka za izdajo certifikata (overjenega digitalnega potrdila za strežnike) preko SSH odjemalca.

Postopek se prične z generiranjem para ključev (javni in zasebni) za strežnik ter zahtevka za certifikat (CSR, Certificate Signing Request).

Zahteva mora biti generirana s ključem, ki je dolg vsaj 2048 bitov.

Kaj potrebujete?

V spodnjih primerih se uporablja odprto-kodni paket OpenSSL.

Pri generiranju ključev in zahtevka za certifikat si lahko pomagate z dvema konfiguracijskima datotekama:

  • SCSreq.cnf – enostavna konfiguracijska datoteka za strežnik z enim imenom (FQDN)
  • multiSCSreq.cnf – konfiguracijska datoteka za strežnik z večimi (tremi) imeni (FQDN)

V primeru generiranja zahtevka, ki vsebuje več FQDN imen, je v konfiguracijsko datoteko multiSCSreq.cnf pod razdelkom [alt_names] potrebno vpisati dodatna imena kot vrednosti elementov DNS.x. Konfiguracijska datoteka multiSCSreq.cnf vsebuje dva primera DNS.x elementov.

[alt_names]
DNS.1   = ime.arnes.si
DNS.2   = ime-dodatno.arnes.si

Če ne želite vnašati gesla ob zagonu strežnika, je potrebno odstraniti zaščito z geslom na zasebnem delu ključa. To lahko storite na dva načina in sicer tako, da v konfiguracijski datoteki odkomentirate vrstico encrypt_key = no, ali kasneje po uspešnem generiranju ključa – glej točko 1.1)

Postopek:

Ko izberete ustrezno konfiguracijsko datoteko in imate nameščen OpenSSL programski paket, lahko pričnete z generiranjem zahtevka. Podatki, ki so odebeljeni, so v vašem primeru drugačni (ime organizacije, ime strežnika, ime oddelka oz. fakultete, …).

1. Ustvarjanje privatnega ključa in CSR zahtevka

Pred izvajanjem ukaza openssl z ukazom umask dodelite privilegij za branje za vse datoteke, ki nastanejo po izvršenem ukazu. Na ta način zaščitite privatni ključ strežnika, ki je tajni in ne sme biti javno dostopen.

Pri klicu ukaza openssl je potrebno podati pot do konfiguracijske datoteke, ki ste jo ustrezno pripravili za izdajo zahtevka. V našem primeru myserver.key in myserver.csr predstavljata naziv datotek, v kateri se zapišeta ustvarjen privatni ključ in zahteva za certifikat. Priporočljivo je, da datoteki poimenujete po strežniku.

  • Za generiranje zahtevka z enim imenom (FQDN) izvedite:
$ umask 0377
$ openssl req -new -config SCSreq.cnf -keyout mojserver.key -out mojserver.csr
  • Za generiranje zahtevka z večimi imeni (FQDN) izvedite:
$ umask 0377
$ openssl req -new -config multiSCSreq.cnf -keyout mojserver.key -out mojserver.csr 

Po klicu ukaza bo potrebno med postopkom vnesti ustrezne, točne podatke. Podatek o FQDN strežnika je odvisen od vrste certifikata, za katerega generirate zahtevek:

  • TERENA SSL certifikat – vpišete FQDN strežnika, za katerega se zahteva certifikat,
  • TERENA SSL Multidomain certifikat – vpišete primarni FQDN za katerega se zahteva certifikat (alternativna imena so vpisana v multiSCSreq.cnf konfiguracijski datoteki).

POMEMBNO: Podatki (npr. ime organizacije) morajo biti identični podatkom za domeno (whois podatki).

Generating a 2048 bit RSA private key
..............................................................+++
...............................+++
writing new private key to 'mojserver.key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Oznaka drzave (2 znaka) [SI]:
Lokacija (npr. mesto) []:Ljubljana
Polni naziv organizacije []:Akademska in raziskovalna mreza Slovenije (ARNES)
Oddelek oz. enota [Storitve IKT]:
Polno ime streznika (FQDN) []:razor.arnes.si

1.1: Odstranjevanje zaščite na zasebnem delu ključa

Če želite odstraniti zaščito z geslom na zasebnem delu ključa in tega niste storili pred generiranjem ključa s tem, da ste odkomentirali vrstico ‘encrypt_key = no’ v konfiguracijski datoteki, to storite po uspešnem generiranju ključa, z ukazom

$ openssl rsa -in mojserver.key -out mojserver_no_password.key
$ cp mojserver.key mojserver_backup.key
$ mv mojserver_no_password.key mojserver.key

2. Preverjanje zahtevka

Preverite, ali zahtevek za overjanje vsebuje pravilne podatke:

$ openssl req -in mojserver.csr -text
Certificate Request:
    Data:
        Version: 0 (0x0)
        Subject: C=SI, L=Ljubljana, O=Akademska in raziskovalna mreza Slovenije (ARNES),↩
↪                 OU=Storitve IKT, CN=razor.arnes.si
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
            RSA Public Key: (2048 bit)
                Modulus (2048 bit):
                    00:c0:01:1b:03:b7:f9:3f:4f:79:2e:9f:f4:31:fd:
                    00:76:35:8f:47:72:34:0c:6d:68:73:c9:7a:5f:27:
                    0a:fd:1f:bf:50:3b:a4:cb:05:bf:9a:ce:56:13:93:
                    45:04:2c:53:b1:72:e6:25:2f:71:84:56:f3:80:71:
                    f2:fb:9b:fb:64:f0:f8:89:51:53:ed:4f:7f:b1:b9:
                    f1:7e:5c:2d:d9:0b:13:00:23:29:2d:ba:89:4c:6f:
                    74:e0:05:f8:18:46:54:0c:ca:a2:82:55:3c:f0:4e:
                    e6:cd:38:01:be:e1:13:d9:1e:d9:83:dd:77:37:de:
                    d4:bf:6b:e0:ed:9d:fd:dd:1a:c6:b2:25:d7:65:69:
                    57:ba:b8:4f:8a:42:fc:39:4b:f7:61:d6:2f:0e:6d:
                    5d:97:42:1d:ba:fb:f1:56:e6:8d:f2:e2:78:8f:4c:
                    e0:db:a1:28:bf:9e:41:ca:47:1a:64:b2:f8:66:02:
                    78:5e:73:09:3f:e9:bb:17:5a:9f:5e:7e:46:1b:94:
                    bd:d0:a0:6d:76:e7:a4:47:af:20:25:59:10:b0:71:
                    1c:16:c6:1f:e1:dd:53:2b:7b:88:a1:d4:80:4b:59:
                    73:f8:19:10:ed:93:4b:4e:99:cc:9f:45:3a:bf:06:
                    d8:92:c5:73:0b:e5:4f:9b:50:58:96:e3:fe:e0:68:
                    bc:17
                Exponent: 65537 (0x10001)
        Attributes:
            a0:00
    Signature Algorithm: md5WithRSAEncryption
        03:13:ab:31:b2:fb:a1:79:ef:9e:13:a2:d5:2d:66:39:0e:35:
        c8:44:1e:7a:96:79:2b:72:d5:c3:b4:d1:91:64:59:7e:50:9c:
        fe:95:62:62:0b:6a:11:05:46:91:d6:d1:ac:ac:ca:05:d9:74:
        b2:cc:9a:df:1f:c0:c4:6e:3e:be:5c:54:91:dc:e4:44:a0:3a:
        6c:7f:57:35:a8:5f:71:50:d2:5b:cd:b3:c9:8f:99:d0:f7:65:
        32:b8:1f:90:a8:c6:52:6a:78:13:5c:80:6c:9c:4c:02:6a:96:
        4c:fa:a4:55:d6:68:86:90:30:70:83:68:01:eb:42:c9:63:00:
        d2:96:e0:1f:fb:99:6d:a3:cb:5b:3c:f1:1a:ab:ab:63:d1:a1:
        4e:07:0b:60:21:62:fa:3f:52:b2:a6:5b:a7:53:47:19:39:7e:
        91:e7:1e:8e:9e:5f:2d:f6:21:d9:9c:d5:18:d8:2a:32:2b:80:
        c3:22:47:1b:8c:c3:64:15:f4:4a:6b:85:01:ad:79:00:35:36:
        30:7c:8f:b7:cc:db:39:cd:01:cb:ad:a7:5e:7c:ca:cf:fe:5c:
        e4:3d:f7:c8:5d:4f:67:32:6c:59:e8:60:9a:a8:41:80:0f:72:
        f3:29:63:bd:ba:43:37:b0:f1:42:17:c9:67:6d:79:20:ca:e5:
        94:4b:8a:72
-----BEGIN CERTIFICATE REQUEST-----
MIIC0zCCAbsCAQAwgY0xCzAJBgNVBAYTAlNJMRIwEAYDVQQHEwlManVibGphbmEx
OjA4BgNVBAoTMUFrYWRlbXNrYSBpbiByYXppc2tvdmFsbmEgbXJlemEgU2xvdmVu
aWplIChBUk5FUykxFTATBgNVBAsTDFN0b3JpdHZlIElLVDEXMBUGA1UEAxMOcmF6
b3IuYXJuZXMuc2kwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAARsD
t/k/T3kun/Qx/QB2NY9HcjQMbWhzyXpfJwr9H79QO6TLBb+azlYTk0UELFOxcuYl
L3GEVvOAcfL7m/tk8PiJUVPtT3+xufF+XC3ZCxMAIyktuolMb3TgBfgYRlQMyqKC
VTzwTubNOAG+4RPZHtmD3Xc33tS/a+Dtnf3dGsayJddlaVe6uE+KQvw5S/dh1i8O
bV2XQh26+/FW5o3y4niPTODboSi/nkHKRxpksvhmAnhecwk/6bsXWp9efkYblL3Q
oG1256RHryAlWRCwcRwWxh/h3VMre4ih1IBLWXP4GRDtk0tOmcyfRTq/BtiSxXML
5U+bUFiW4/7gaLwXAgMBAAGgADANBgkqhkiG9w0BAQQFAAOCAQEAAxOrMbL7oXnv
nhOi1S1mOQ41yEQeepZ5K3LVw7TRkWRZflCc/pViYgtqEQVGkdbRrKzKBdl0ssya
3x/AxG4+vlxUkdzkRKA6bH9XNahfcVDSW82zyY+Z0PdlMrgfkKjGUmp4E1yAbJxM
AmqWTPqkVdZohpAwcINoAetCyWMA0pbgH/uZbaPLWzzxGqurY9GhTgcLYCFi+j9S
sqZbp1NHGTl+kecejp5fLfYh2ZzVGNgqMiuAwyJHG4zDZBX0SmuFAa15ADU2MHyP
t8zbOc0By62nXnzKz/5c5D33yF1PZzJsWehgmqhBgA9y8yljvbpDN7DxQhfJZ215
IMrllEuKcg==
-----END CERTIFICATE REQUEST-----

3. Pošiljanje zahtevka

Zahtevek pošljite na elektronski naslov helpdesk@arnes.si.

Pomoč uporabnikom

01 479 88 00
(delavniki, 8:00–16:00)