Sertifikaattiketjun esimerkki

Aliaksandr Prysmakou
Aliaksandr Prysmakou

Seuraa

8.12, 2017 – 3 min read

Näen paljon kysymyksiä kuten ”miten saada varmenne-ketju” tai ”mikä on oikea varmenne-ketjun järjestys”. Valaistaanpa asiaa hieman.

TL;DR Varmenne-ketju alkaa omalla varmenteellasi, jota seuraa välivarmenne tai juurivarmenne. Ketjun minkä tahansa varmenteen myöntäjän tulisi olla sama kuin seuraavan varmenteen kohde aina päävarmentajan varmenteeseen asti, jossa kohde on sama kuin myöntäjä.

Ensinnäkin – Jotta SSL-varmenteeseen voidaan luottaa, sen tulisi olla sellaisen varmentajan myöntämä, joka on käyttämäsi laitteen luotetussa tallennuspaikassa (käyttöjärjestelmän tallennuspaikassa tai sovelluksen tallennuspaikassa, kuten Firefoxissa).

Katsotaanpa yhtä varmenteista:

varmenne

Oman verkkotunnukseni (ks. nuolet) osalta järjestelmät yrittävät löytää varmenteeni myöntäjän Storesta ja jos sitä ei löydy (esimerkissäni ei löydy), se yrittää löytää varmenteeni myöntäjän myöntäjän ja niin edelleen ja niin edelleen.

Varmenteiden välinen suhde luo varmenteiden ketjun, jossa resurssin varmenteen on oltava joko juurivarmentajan (joka on asennettu järjestelmääsi) tai välivarmentajan (jonka on myöntänyt yksi juurivarmentajista tai ”ylempi” välivarmentaja) myöntämä.

Hyvin usein saamme varmennetiedostoja (esim. joukko .crt-tiedostoja) ilman erityistä ”varmenne-ketju”-tiedostoa.

Ketjun (uudelleen)luomiseksi sinun tulisi aloittaa omasta varmennetiedostostostasi, minun tapauksessani se on STAR_my_domain.crt

openssl x509 -text -noout -in STAR_my_domain.crt

Olemme kiinnostuneita kahdesta kentästä tulosteessa:

Ketjutiedoston ensimmäisenä tulisi olla verkkotunnuksesi varmenne (on poikkeuksia. esim. AWS Certificate Manageria varten sinun tulisi lähettää varmenteesi ja ketju ilman varmentettasi erikseen)

Varmentajia on kahta tyyppiä: root ja intermediate. Jokaisen intermediate CA:n sertifikaatissa on eri Issuer- ja Subject-kentät. Root CA:n sertifikaatissa on samat Issuer ja Subject.

Toisen tulisi olla sertifikaattisi myöntäjän sertifikaatin myöntäjän sertifikaatti ja niin edelleen aina root sertifikaattiin asti.

Minun tapauksessani ketju näyttää tältä:

Ensimmäisenä menee oma sertifikaattini (STAR_mydomain.crt)

Issuer: C=US, ST=DE, L=Wilmington, O=Corporation Service Company, CN=Trusted Secure Certificate Authority 5
Subject: my subject

Ketjun toinen (TrustedSecureCertificateAuthority5.crt). Huom: Subject on sama kuin edellisen tiedoston Issuer :

Issuer: C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust RSA Certification Authority
Subject: C=US, ST=DE, L=Wilmington, O=Corporation Service Company, CN=Trusted Secure Certificate Authority 5

Kolmas on USERTrustRSAAddTrustCA.crt:

Issuer: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root
Subject: C=US, ST=New Jersey, L=Jersey City, O=The USERTRUST Network, CN=USERTrust RSA Certification Authority

Viimeinen on AddTrustExternalCARoot.crt. Huomautus: Issuer = Subject, tarkoittaa, että se on root CA. Juurivarmentajan sertifikaattia ei tarvitse lisätä ketjuun. Se ei jarruta sitä, mutta lisää kättelyjen määrää ja siirrettävän datan määrää.

Issuer: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root
Subject: C=SE, O=AddTrust AB, OU=AddTrust External TTP Network, CN=AddTrust External CA Root

Luoaksesi tiedoston, jossa on varmenne-ketju, voit suorittaa:

$cat STAR_mydomain.crt TrustedSecureCertificateAuthority5.crt USERTrustRSAAddTrustCA.crt > Certificate_Chain.crt

Tällaisissa palveluissa, kuten AWS Certificate manager:

cat TrustedSecureCertificateAuthority5.crt USERTrustRSAAddTrustCA.crt > Certificate_Chain.crt

Tiedoston pitäisi näyttää seuraavalta:

-----BEGIN CERTIFICATE-----
content of your domain certificate
-----END CERTIFICATE-----
...
-----BEGIN CERTIFICATE-----
content of any intermediate CA certificate
-----END CERTIFICATE-----

Tarkistaaksesi, että kaikki on kunnossa varmenne-ketjusi kanssa, voit käyttää mitä tahansa online-palvelua, kuten esim. DigiCert tarjoaa.

UPDATE: Tiedot päivitetty useiden ongelmien jälkeen AddTrustin ulkoisen CA:n juuren voimassaolon päätyttyä 30. toukokuuta 2020. Juurivarmenteen lisäämistä ei tarvita. Sitä ei suositella, ellet käytä itse allekirjoitettua.