Share via


X.509-tanúsítványok

Az X.509-tanúsítványok olyan digitális dokumentumok, amelyek felhasználót, számítógépet, szolgáltatást vagy eszközt képviselnek. A hitelesítésszolgáltató (CA), az alárendelt hitelesítésszolgáltató vagy a regisztrációs szolgáltató X.509-tanúsítványokat bocsát ki. A tanúsítványok tartalmazzák a tanúsítvány tulajdonosának nyilvános kulcsát. Nem tartalmazzák a tulajdonos titkos kulcsát, amelyet biztonságosan kell tárolni. Az RFC 5280 dokumentumokat tartalmaz a nyilvános kulcsú tanúsítványokról, beleértve a mezőket és a bővítményeket is. A nyilvános kulcsú tanúsítványok digitálisan aláírtak, és általában a következő információkat tartalmazzák:

  • A tanúsítvány tulajdonosával kapcsolatos információk
  • A tulajdonos titkos kulcsának megfelelő nyilvános kulcs
  • Információ a kiállító hitelesítésszolgáltatóról
  • A támogatott titkosítási és/vagy digitális aláíró algoritmusok
  • A tanúsítvány visszavonási és érvényességi állapotának meghatározására vonatkozó információk

Tanúsítványmezők

Az X.509 tanúsítványszabvány három növekményes verziója van, és minden további verzió hozzáadta a tanúsítványmezőket a szabványhoz:

  • Az 1988-ban kiadott 1-es verzió (v1) a tanúsítványok kezdeti X.509 szabványát követi.
  • Az 1993-ban közzétett 2. verzió (v2) két mezőt ad hozzá az 1. verzióban szereplő mezőkhöz.
  • A 2008-ban közzétett 3- (v3-os) verzió az X.509 szabvány aktuális verzióját jelöli. Ez a verzió támogatja a tanúsítványbővítményeket.

Ez a szakasz az X.509-tanúsítványokban elérhető tanúsítványmezők és tanúsítványbővítmények általános referenciájaként szolgál. További információ a tanúsítványmezőkről és a tanúsítványbővítményekről, beleértve az adattípusokat, a korlátozásokat és egyéb részleteket, tekintse meg az RFC 5280 specifikációját.

1. verzió mezői

Az alábbi táblázat az X.509-tanúsítványok 1. verziójú tanúsítványmezőit ismerteti. A táblázat összes mezője elérhető a következő X.509-tanúsítványverziókban.

Név Leírás
Verzió A tanúsítvány verziószámát azonosító egész szám.
Sorszám Egy egész szám, amely a hitelesítésszolgáltató (CA) által kibocsátott tanúsítványok egyedi számát jelöli.
Aláírás A hitelesítésszolgáltató által a tanúsítvány aláírásához használt titkosítási algoritmus azonosítója. Az érték tartalmazza az algoritmus azonosítóját és az algoritmus által használt választható paramétereket is, ha vannak ilyenek.
Kibocsátó A tanúsítvány kiállító hitelesítésszolgáltatójának megkülönböztető neve (DN).
Érvényességét Az a befogadó időszak, amelyre a tanúsítvány érvényes.
Tárgy A tanúsítvány tulajdonosának megkülönböztető neve (DN).
Tulajdonos nyilvános kulcsának adatai A tanúsítvány tulajdonosának nyilvános kulcsa.

2. verzió mezői

Az alábbi táblázat a 2. verzióhoz hozzáadott mezőket ismerteti, amelyek a tanúsítványkibocsátó adatait tartalmazzák. Ezeket a mezőket azonban ritkán használják. A táblázat összes mezője elérhető a következő X.509-tanúsítványverziókban.

Név Leírás
Kiállító egyedi azonosítója A kiállító hitelesítésszolgáltató által meghatározott egyedi azonosító.
Tulajdonos egyedi azonosítója Egyedi azonosító, amely a tanúsítvány tulajdonosát jelöli a kiállító hitelesítésszolgáltató által meghatározott módon.

3. verzió mezői

Az alábbi táblázat a 3. verzióhoz hozzáadott mezőt ismerteti, amely az X.509-tanúsítványbővítmények gyűjteményét jelöli.

Név Leírás
Bővítmények Standard és internetspecifikus tanúsítványbővítmények gyűjteménye. További információ az X.509 v3-tanúsítványokhoz elérhető tanúsítványbővítményekről: Tanúsítványbővítmények.

Tanúsítványbővítmények

A 3-as verzióval bevezetett tanúsítványbővítmények metódusokat biztosítanak további attribútumok felhasználókkal vagy nyilvános kulcsokkal való társítására, valamint a hitelesítésszolgáltatók közötti kapcsolatok kezelésére. További információ a tanúsítványbővítményekről: Az RFC 5280 specifikáció Tanúsítványbővítmények szakasza.

Standard bővítmények

Az X.509 szabvány az ebben a szakaszban szereplő bővítményeket határozza meg az internetes nyilvános kulcsú infrastruktúrában (PKI) való használatra.

Név Leírás
Hitelesítésszolgáltatói kulcsazonosító Olyan azonosító, amely a tanúsítvány tulajdonosát és a tanúsítványt kiállító hitelesítésszolgáltatói tanúsítvány sorozatszámát, vagy a kiállító hitelesítésszolgáltató nyilvános kulcsának kivonatát jelöli.
Tulajdonosi kulcsazonosító Az aktuális tanúsítvány nyilvános kulcsának kivonata.
Kulcshasználat Bitleképezett érték, amely meghatározza azokat a szolgáltatásokat, amelyekhez tanúsítvány használható.
Titkos kulcs használati időszaka A kulcspár titkos kulcs részének érvényességi ideje.
Tanúsítvány-házirendek Szabályzatinformációk gyűjteménye, amely a tanúsítvány tulajdonosának ellenőrzésére szolgál.
Szabályzatleképezések Szabályzatleképezések gyűjteménye, amelyek mindegyike leképez egy szabályzatot egy szervezeten belül egy másik szervezet szabályzatához.
Tulajdonos alternatív neve A tárgy alternatív nevének gyűjteménye.
Kiállító alternatív neve A kibocsátó hitelesítésszolgáltató alternatív nevének gyűjteménye.
Tárgy könyvtárattribútumai Attribútumok gyűjteménye X.500-ból vagy LDAP-címtárból.
Alapvető típusmegkötések Olyan korlátozások gyűjteménye, amelyek lehetővé teszik, hogy a tanúsítvány megállapítsa, hogy a tanúsítvány hitelesítésszolgáltatónak vagy felhasználónak, számítógépnek, eszköznek vagy szolgáltatásnak van-e kiadva. Ez a bővítmény egy elérési úthossz-korlátozást is tartalmaz, amely korlátozza a létező alárendelt hitelesítésszolgáltatók számát.
Névkorlátozások A hitelesítésszolgáltató által kibocsátott tanúsítványokban engedélyezett névterekre vonatkozó korlátozások gyűjteménye.
Szabályzatkorlátozások A hitelesítésszolgáltatók közötti szabályzatleképezések tiltására használható korlátozások gyűjteménye.
Kibővített kulcshasználat Kulcscélértékek gyűjteménye, amely jelzi a tanúsítvány nyilvános kulcsának használatát a Kulcshasználat bővítményben azonosított célokon túl.
CRL terjesztési pontok URL-címek gyűjteménye, ahol az alaptanúsítvány-visszavonási lista (CRL) közzé van téve.
Gátolja az anyPolicy-t Megakadályozza a Minden kiállítási szabályzat OID (2.5.29.32.0) használatát az alárendelt hitelesítésszolgáltatói tanúsítványokban
Legfrissebb CRL Ez a bővítmény, más néven a Delta CRL terjesztési pont egy vagy több URL-címet tartalmaz, ahol a kibocsátó hitelesítésszolgáltató különbözeti CRL-jét közzétették.

Privát internetes bővítmények

Az ebben a szakaszban szereplő bővítmények hasonlóak a standard bővítményekhez, és az alkalmazásokat a kiállító hitelesítésszolgáltatóval vagy tanúsítványtulajdonossal kapcsolatos online információkra irányíthatják.

Név Leírás
Szolgáltatói információk elérése A kibocsátó hitelesítésszolgáltató által biztosított további információk formátumát és helyét leíró bejegyzések gyűjteménye.
Tárgyadatokhoz való hozzáférés Bejegyzésgyűjtemény, amely a tanúsítvány tulajdonosától kapott további információk formátumát és helyét ismerteti.

Tanúsítványformátumok

A tanúsítványok különböző formátumban menthetők. Azure IoT Hub hitelesítés általában a Privacy-Enhanced Mail (PEM) és a Személyes információcsere (PFX) formátumot használja. Az alábbi táblázat a tanúsítványok megjelenítéséhez gyakran használt fájlokat és formátumokat ismerteti.

Formátum Leírás
Bináris tanúsítvány Nyers formátumú bináris tanúsítvány DER-szabályok (DER) ASN.1 kódolással.
ASCII PEM formátum A PEM-tanúsítványfájl (.pem) egy Base64 kódolású tanúsítványt tartalmaz, amely a következővel -----BEGIN CERTIFICATE----- kezdődik és végződik -----END CERTIFICATE-----: . Az X.509-tanúsítványok egyik leggyakoribb formátuma a PEM formátum, amelyet IoT Hub igényel bizonyos tanúsítványok, például eszköztanúsítványok feltöltésekor.
ASCII PEM-kulcs Egy Base64 kódolású DER-kulcsot tartalmaz, opcionálisan további metaadatokkal a jelszóvédelemhez használt algoritmusról.
PKCS #7 tanúsítvány Aláírt vagy titkosított adatok átvitelére tervezett formátum. Belefoglalhatja a teljes tanúsítványláncot. Ezt a formátumot az RFC 2315 határozza meg.
PKCS #8 kulcs A titkos kulcstároló formátuma. Az RFC 5208 ezt a formátumot határozza meg.
PKCS #12 kulcs és tanúsítvány Összetett formátum, amely képes tárolni és védeni egy kulcsot és a teljes tanúsítványláncot. Általában .p12 vagy .pfx kiterjesztéssel használják. A PKCS #12 a PFX formátum szinonimája. Az RFC 7292 ezt a formátumot határozza meg.

Önaláírt tanúsítványok

Az eszközt két önaláírt tanúsítvány használatával hitelesítheti az IoT Hubon tesztelés céljából. Ezt a hitelesítési típust néha ujjlenyomat-hitelesítésnek is nevezik, mert a tanúsítványokat ujjlenyomatok vagy ujjlenyomatok nevű számított kivonatértékek azonosítják. Ezeket a számított kivonatértékeket a IoT Hub használja az eszközök hitelesítéséhez.

Fontos

Javasoljuk, hogy a kiállító hitelesítésszolgáltató (CA) által aláírt tanúsítványokat még tesztelési célokra is használja. Soha ne használjon önaláírt tanúsítványokat éles környezetben.

Önaláírt tanúsítvány létrehozása

Az OpenSSL használatával önaláírt tanúsítványokat hozhat létre. Az alábbi lépések bemutatják, hogyan futtathat OpenSSL-parancsokat egy bash-rendszerhéjban egy önaláírt tanúsítvány létrehozásához és egy tanúsítvány ujjlenyomatának lekéréséhez, amely az eszköz hitelesítéséhez használható a IoT Hub.

Megjegyzés

Ha önaláírt tanúsítványokat szeretne használni a teszteléshez, minden eszközhöz két tanúsítványt kell létrehoznia.

  1. A következő parancs futtatásával hozzon létre egy titkos kulcsot, és hozzon létre egy PEM kódolású titkos kulcs (.key) fájlt, és cserélje le a következő helyőrzőket a megfelelő értékekkel. A következő parancs által létrehozott titkos kulcs az RSA algoritmust használja 2048 bites titkosítással.

    {KeyFile}. A titkos kulcsfájl neve.

    openssl genpkey -out {KeyFile} -algorithm RSA -pkeyopt rsa_keygen_bits:2048
    
  2. Futtassa a következő parancsot egy PKCS #10 tanúsítvány-aláírási kérelem (CSR) létrehozásához, és hozzon létre egy CSR-fájlt (.csr) a következő helyőrzők megfelelő értékekkel való helyettesítéséhez. Amikor a rendszer kéri, adja meg az IoT-eszköz eszközazonosítóját az önaláírt tanúsítványhoz.

    {KeyFile}. A titkos kulcsfájl neve.

    {CsrFile}. A CSR-fájl neve.

    {DeviceID}. Az IoT-eszköz neve.

    openssl req -new -key {KeyFile} -out {CsrFile}
    
    Country Name (2 letter code) [XX]:.
    State or Province Name (full name) []:.
    Locality Name (eg, city) [Default City]:.
    Organization Name (eg, company) [Default Company Ltd]:.
    Organizational Unit Name (eg, section) []:.
    Common Name (eg, your name or your server hostname) []:{DeviceID}
    Email Address []:.
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:.
    An optional company name []:.
    
  3. Futtassa a következő parancsot a CSR vizsgálatához és ellenőrzéséhez, és cserélje le a következő helyőrzőket a megfelelő értékekkel.

    {CsrFile}. A tanúsítványfájl neve.

    openssl req -text -in {CsrFile} -verify -noout
    
  4. Futtassa a következő parancsot egy önaláírt tanúsítvány létrehozásához, és hozzon létre egy PEM-kódolású tanúsítványfájlt (.crt), és cserélje le a következő helyőrzőket a megfelelő értékekkel. A parancs átalakítja és aláírja a CSR-t a titkos kulccsal, és létrehoz egy önaláírt tanúsítványt, amely 365 nap múlva lejár.

    {KeyFile}. A titkos kulcsfájl neve.

    {CsrFile}. A CSR-fájl neve.

    {CrtFile}. A tanúsítványfájl neve.

    openssl x509 -req -days 365 -in {CsrFile} -signkey {KeyFile} -out {CrtFile}
    
  5. Futtassa a következő parancsot a tanúsítvány ujjlenyomatának lekéréséhez, és cserélje le a következő helyőrzőket a megfelelő értékekkel. A tanúsítvány ujjlenyomata az adott tanúsítványra egyedi számított kivonatérték. A teszteléshez szüksége van az ujjlenyomatra az IoT-eszköz IoT Hub való konfigurálásához.

    {CrtFile}. A tanúsítványfájl neve.

    openssl x509 -in {CrtFile} -noout -fingerprint
    

Tanúsítvány manuális ellenőrzése a feltöltés után

Amikor feltölti a főtanúsítványt vagy az alárendelt hitelesítésszolgáltatói tanúsítványt az IoT Hubra, dönthet úgy, hogy automatikusan ellenőrzi a tanúsítványt. Ha a feltöltés során nem ellenőrizte automatikusan a tanúsítványt, a tanúsítványa ellenőrizetlen állapotban jelenik meg. A tanúsítvány manuális ellenőrzéséhez a következő lépéseket kell végrehajtania.

  1. Válassza ki a tanúsítványt a Tanúsítvány részletei párbeszédpanel megtekintéséhez.

  2. Válassza az Ellenőrző kód létrehozása lehetőséget a párbeszédpanelen.

    Képernyőkép a tanúsítvány részletei párbeszédpanelről.

  3. Másolja az ellenőrzőkódot a vágólapra. A következő lépésekben ezt az ellenőrző kódot kell használnia tanúsítványtulajdonosként. Ha például az ellenőrző kód , 75B86466DA34D2B04C0C4C9557A119687ADAE7D4732BDDB3adja hozzá ezt a tanúsítvány tárgyaként a következő lépésben látható módon.

  4. Az ellenőrző tanúsítványt háromféleképpen hozhatja létre:

    • Ha a Microsoft által biztosított PowerShell-szkriptet használja, futtassa a parancsot New-CACertsVerificationCert "<verification code>" egy nevű VerifyCert4.certanúsítvány létrehozásához, és cserélje le <verification code> a korábban létrehozott ellenőrzési kódra. További információ: A C-hez készült Azure IoT Hub Device SDK-hoz tartozó GitHub-adattárban található minták és oktatóanyagok hitelesítésszolgáltatói tanúsítványainak kezelése.

    • Ha a Microsoft által biztosított Bash-szkriptet használja, futtassa a parancsot ./certGen.sh create_verification_certificate "<verification code>" egy verification-code.cert.pem nevű tanúsítvány létrehozásához, és cserélje le <verification code> a korábban létrehozott ellenőrzési kódra. További információ: A C-hez készült Azure IoT Hub Device SDK GitHub-adattárában található minták és oktatóanyagok hitelesítésszolgáltatói tanúsítványainak kezelése.

    • Ha OpenSSL-t használ a tanúsítványok létrehozásához, először létre kell hoznia egy titkos kulcsot, majd létre kell hoznia egy tanúsítvány-aláírási kérelemfájlt (CSR). A következő példában cserélje le a elemet <verification code> a korábban létrehozott ellenőrző kódra:

    openssl genpkey -out pop.key -algorithm RSA -pkeyopt rsa_keygen_bits:2048
    
    openssl req -new -key pop.key -out pop.csr
    
    -----
    Country Name (2 letter code) [XX]:.
    State or Province Name (full name) []:.
    Locality Name (eg, city) [Default City]:.
    Organization Name (eg, company) [Default Company Ltd]:.
    Organizational Unit Name (eg, section) []:.
    Common Name (eg, your name or your server hostname) []:<verification code>
    Email Address []:
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    

    Ezután hozzon létre egy tanúsítványt a megfelelő konfigurációs fájllal a legfelső szintű hitelesítésszolgáltatóhoz vagy az alárendelt hitelesítésszolgáltatóhoz és a CSR-fájlhoz. Az alábbi példa bemutatja, hogyan hozhatja létre a tanúsítványt egy legfelső szintű hitelesítésszolgáltató konfigurációs fájljából és a CSR-fájlból az OpenSSL használatával.

    openssl ca -config rootca.conf -in pop.csr -out pop.crt -extensions client_ext
    

    További információ: Oktatóanyag – Tanúsítványok létrehozása és feltöltése teszteléshez.

  5. Válassza ki az új tanúsítványt a Tanúsítvány részletei nézetben.

  6. A tanúsítvány feltöltése után válassza az Ellenőrzés lehetőséget. A tanúsítvány állapotának Ellenőrzöttre kell változnia.

További tudnivalók

Az X.509-tanúsítványokról és azok IoT Hub való használatáról az alábbi cikkekben talál további információt: