Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az System.Net osztályok számos módszert támogatnak a Secure Socket Layer (SSL) kapcsolatok kiválasztására és ellenőrzésére System.Security.Cryptography.X509Certificates . Az ügyfél kiválaszthat egy vagy több tanúsítványt, hogy hitelesítse magát egy kiszolgálón. A kiszolgálók megkövetelhetik, hogy az ügyféltanúsítványok egy vagy több konkrét attribútummal rendelkezzenek a hitelesítéshez.
Definíció
A tanúsítvány egy ASCII bájtfolyam, amely nyilvános kulcsot, attribútumokat (például verziószámot, sorozatszámot és lejárati dátumot) és egy hitelesítésszolgáltató digitális aláírását tartalmazza. A tanúsítványokkal titkosított kapcsolatot létesíthet, vagy egy ügyfelet hitelesíthet egy kiszolgálón.
Ügyféltanúsítvány kiválasztása és érvényesítése
Az ügyfél kiválaszthat egy vagy több tanúsítványt egy adott SSL-kapcsolathoz. Az ügyféltanúsítványok társíthatók egy webkiszolgálóhoz vagy SMTP-levelezési kiszolgálóhoz való SSL-kapcsolattal. Az ügyfél tanúsítványokat ad hozzá egy gyűjteményhez X509Certificate vagy X509Certificate2 osztályobjektumokhoz. E-mail példájával élve, a tanúsítványgyűjtemény egy példánya, amely a X509CertificateCollection) van társítva a ClientCertificates tulajdonsággal a SmtpClient osztályban. Az HttpWebRequest osztálynak hasonló ClientCertificates tulajdonsága van.
A legfontosabb különbség a X509Certificate és a X509Certificate2 osztály között az, hogy a titkos kulcsnak a X509Certificate osztály tanúsítványtárolójában kell lennie.
A rendszer akkor sem küld tanúsítványokat a kiszolgálónak, ha tanúsítványokat ad hozzá egy gyűjteményhez, és egy adott SSL-kapcsolathoz van társítva, hacsak a kiszolgáló nem kéri ezeket. Ha több ügyféltanúsítvány van beállítva egy kapcsolaton, a legjobbat egy olyan algoritmus alapján fogja használni, amely figyelembe veszi a kiszolgáló által biztosított tanúsítványkibocsátók listája és az ügyféltanúsítvány-kiállító neve közötti egyezést.
Az SslStream osztály még jobban szabályozza az SSL-kézfogást. Az ügyfél megadhat egy meghatalmazottat, aki kiválaszthatja, hogy melyik ügyféltanúsítványt használja.
A távoli kiszolgáló ellenőrizheti, hogy az ügyféltanúsítvány érvényes, aktuális és a megfelelő hitelesítésszolgáltató által aláírt-e. A tanúsítványérvényesítés kikényszerítéséhez hozzá lehet adni egy ServerCertificateValidationCallback meghatalmazottat.
Ügyféltanúsítvány kiválasztása
A .NET-keretrendszer a következő módon választja ki a kiszolgálónak bemutatni kívánt ügyféltanúsítványt:
Ha korábban egy ügyféltanúsítványt mutattak be a kiszolgálónak, a rendszer az első bemutatáskor gyorsítótárazza a tanúsítványt, és újra felhasználja a későbbi ügyféltanúsítvány-kérelmekhez.
Ha egy meghatalmazott jelen van, mindig a meghatalmazott által kapott eredményt használja ügyféltanúsítvány kiválasztására. Ha lehetséges, próbáljon meg gyorsítótárazott tanúsítványt használni, de ne használjon gyorsítótárazott névtelen hitelesítő adatokat, ha a meghatalmazott null értéket adott vissza, és a tanúsítványgyűjtemény nem üres.
Ha ez az ügyféltanúsítvány első kihívása, a keretrendszer számba adja a kapcsolathoz tartozó tanúsítványokat X509Certificate vagy X509Certificate2 osztályobjektumokat, és egyezést keres a kiszolgáló által biztosított tanúsítványkibocsátók listája és az ügyféltanúsítvány-kiállító neve között. A rendszer elküldi az első egyező tanúsítványt a kiszolgálónak. Ha nincs egyező tanúsítvány, vagy a tanúsítványgyűjtemény üres, a rendszer névtelen hitelesítő adatokat küld a kiszolgálónak.
A tanúsítványkonfiguráció eszközei
Az ügyfél- és kiszolgálótanúsítvány-konfigurációhoz számos eszköz érhető el.
Az Winhttpcertcfg.exe eszköz az ügyféltanúsítványok konfigurálásához használható. A Winhttpcertcfg.exe eszköz a Windows Server 2003 Resource Kit egyik eszköze. Ez az eszköz letöltésként is elérhető a Windows Server 2003 Resource Kit Tools részeként a www.microsoft.com.
A HttpCfg.exe eszközzel konfigurálhatja az HttpListener osztály kiszolgálótanúsítványait. A HttpCfg.exe eszköz a Windows Server 2003 és a Windows XP Service Pack 2 egyik támogatási eszköze. HttpCfg.exe és a többi támogatási eszköz alapértelmezés szerint nincs telepítve Windows Server 2003 vagy Windows XP rendszeren. Windows Server 2003 rendszeren. a támogatási eszközök a Következő mappától és fájltól külön vannak telepítve a Windows Server 2003 CD-ROM-on:
\Support\Tools\Suptools.msi
A Windows XP Service Pack 2 szervizcsomaggal való használathoz a Windows XP támogatási eszközei letölthetők www.microsoft.com.
A HttpCfg.exe eszköz egy verziójának forráskódja szintén mintaként szolgál a Windows Server SDK-hoz. A HttpCfg.exe minta forráskódja alapértelmezés szerint a Windows SDK részeként, a következő mappában található hálózati mintákkal van telepítve:
C:\Program Files\Microsoft SDKs\Windows\v1.0\Samples\NetDS\http\serviceconfig
Ezen eszközök mellett az X509Certificate és X509Certificate2 osztályok metódusokat biztosítanak a tanúsítványok fájlrendszerből való betöltéséhez.