Tanúsítványlánc példa

Aliaksandr Prysmakou
Aliaksandr Prysmakou

Follow

Dec 8, 2017 – 3 min read

Sok kérdést látok, mint például “hogyan lehet tanúsítványláncot szerezni” vagy “mi a helyes tanúsítványlánc sorrend”. Vessünk rá némi fényt.

TL;DR A tanúsítványlánc az Ön tanúsítványával kezdődik, amelyet egy köztes tanúsítvány vagy a root CA tanúsítványa követ. A láncban bármelyik tanúsítvány kiállítójának meg kell egyeznie a következő tanúsítvány alanyával, egészen a gyökér CA tanúsítványig, ahol az alany egyenlő a kiállítóval.

Először is – Ahhoz, hogy egy SSL tanúsítvány megbízható legyen, olyan CA-nak kell kiállítania, amely az Ön által használt eszköz megbízható tárolójában van (operációs rendszer tárolója vagy alkalmazás tárolója, mint a Firefox esetében).

Nézzük meg az egyik tanúsítványt:

a tanúsítvány

A tartományomhoz (lásd a nyilakat) a rendszer megpróbálja megtalálni a tanúsítványom kibocsátóját a Store-ban, és ha nem találja (az én példámban nem találja), akkor megpróbálja megtalálni a tanúsítványom kibocsátójának a kibocsátóját, és így tovább, és így tovább.

A tanúsítványok közötti kapcsolat egy tanúsítványláncot hoz létre, ahol egy erőforrás tanúsítványát vagy a root CA (a rendszerben telepítettek egyike), vagy egy köztes CA (a root CA vagy a “felső” köztes CA által kiállított) kell kiállítania.

Nagyon gyakran kapunk tanúsítványfájlokat (pl. egy csomó .crt) anélkül, hogy külön “tanúsítványlánc” fájl lenne.

A lánc (újra)létrehozásához a tanúsítványfájlból kell kiindulni, az én esetemben ez a STAR_my_domain.crt

openssl x509 -text -noout -in STAR_my_domain.crt

A kimenet két mezője érdekel minket:

A láncfájlban először a tartományod tanúsítványának kell szerepelnie (vannak kivételek. pl. az AWS Certificate Manager esetében a tanúsítványodat és a láncot a tanúsítványod nélkül külön kell beküldened)

Kétféle CA létezik: root és intermediate. Minden köztes hitelesítésszolgáltató tanúsítványa más Issuer és Subject mezőkkel rendelkezik. A root CA tanúsítványa azonos Issuer és Subject értékkel rendelkezik.

A másodiknak a te tanúsítványod kibocsátójának tanúsítványának kell lennie, és így tovább egészen a root tanúsítványig.

Az én esetemben a lánc így néz ki:

Először az én tanúsítványom (STAR_mydomain.crt)

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

A második a láncban (TrustedSecureCertificateAuthority5.crt). Megjegyzés: Subject megegyezik az előző fájl 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

A harmadik a 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

Az utolsó az AddTrustExternalCARoot.crt. Megjegyzés: Issuer = Subject, azaz a gyökér CA. Nem szükséges a root CA tanúsítványt hozzáadni a lánchoz. Ez nem akadályozza meg, de növeli a kézfogások számát és a továbbított adatok mennyiségét.

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

A tanúsítványláncot tartalmazó fájl létrehozásához futtathatja:

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

Az olyan szolgáltatások esetében, mint az AWS Certificate manager:

cat TrustedSecureCertificateAuthority5.crt USERTrustRSAAddTrustCA.crt > Certificate_Chain.crt

A fájlnak így kell kinéznie:

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

Az ellenőrzéshez, hogy minden rendben van-e a tanúsítványláncával, használhatja bármelyik online szolgáltatást, mint pl. a DigiCert biztosítja.

UPDATE: Az információk frissítve, miután több probléma is felmerült az AddTrust External CA Root 2020. május 30-i lejáratával kapcsolatban. Nincs szükség gyökértanúsítvány hozzáadására. Nem ajánlott, kivéve, ha saját aláírású tanúsítványt használ.