Aracılığıyla paylaş


Sertifika Seçimi ve Doğrulama

Sınıflar, System.Net Güvenli Yuva Katmanı (SSL) bağlantılarını seçmenin ve doğrulamanın System.Security.Cryptography.X509Certificates çeşitli yollarını destekler. İstemci, bir sunucuda kimliğini doğrulamak için bir veya daha fazla sertifika seçebilir. Bir sunucu, bir istemci sertifikasının kimlik doğrulaması için bir veya daha fazla özel özniteliği olmasını gerektirebilir.

Tanım

Sertifika, ortak anahtar, öznitelikler (sürüm numarası, seri numarası ve son kullanma tarihi gibi) ve Sertifika Yetkilisi'nden dijital imza içeren bir ASCII bayt akışıdır. Sertifikalar, şifreli bir bağlantı kurmak veya bir sunucuya istemcinin kimliğini doğrulamak için kullanılır.

İstemci Sertifikası Seçimi ve Doğrulaması

İstemci belirli bir SSL bağlantısı için bir veya daha fazla sertifika seçebilir. İstemci sertifikaları, bir web sunucusuna veya SMTP posta sunucusuna ssl bağlantısıyla ilişkilendirilebilir. İstemci, sertifikaları bir X509Certificate veya X509Certificate2 sınıfı nesne koleksiyonuna ekler. Örnek olarak e-posta kullanıldığında, sertifika koleksiyonu X509CertificateCollection sınıfının ClientCertificates özelliğiyle ilişkilendirilmiş bir SmtpClient örneğidir. Bu sınıf, HttpWebRequest benzer bir ClientCertificates özelliğe sahiptir.

X509Certificate ve X509Certificate2 sınıfı arasındaki temel fark, X509Certificate sınıfı için özel anahtarın sertifika deposunda bulunması gerektiğidir.

Sertifikalar bir koleksiyona eklenip belirli bir SSL bağlantısıyla ilişkilendirilse bile, sunucu istemediği sürece sunucuya hiçbir sertifika gönderilmez. Bir bağlantıda birden çok istemci sertifikası ayarlanırsa, en iyisi sunucu tarafından sağlanan sertifika verenler listesi ile istemci sertifika veren adı arasındaki eşleşmeyi dikkate alan bir algoritmaya göre kullanılır.

sınıfı, SslStream SSL el sıkışması üzerinde daha da fazla denetim sağlar. İstemci, hangi istemci sertifikasının kullanılacağını seçmek için bir temsilci belirtebilir.

Uzak sunucu, bir istemci sertifikasının geçerli, geçerli ve uygun Sertifika Yetkilisi tarafından imzalandığını doğrulayabilir. Sertifika doğrulamasını zorunlu kılmak için öğesine ServerCertificateValidationCallback bir temsilci eklenebilir.

İstemci Sertifikası Seçimi

.NET Framework, sunucuya aşağıdaki şekilde sunmak üzere istemci sertifikasını seçer:

  1. Daha önce sunucuya bir istemci sertifikası sunulduysa, sertifika ilk kez sunulduğunda önbelleğe alınır ve sonraki istemci sertifikası istekleri için yeniden kullanılır.

  2. Bir temsilci varsa, seçmek için her zaman temsilcinin sonucunu istemci sertifikası olarak kullanın. Mümkün olduğunda önbelleğe alınmış bir sertifika kullanmayı deneyin, ancak temsilci null döndürdüyse ve sertifika koleksiyonu boş değilse önbelleğe alınmış anonim kimlik bilgilerini kullanmayın.

  3. Bu bir istemci sertifikasının ilk sınamasıysa, Framework, bağlantı ile ilişkili olan X509Certificate içindeki sertifikaları veya X509Certificate2 sınıf nesnelerini numaralandırarak sunucu tarafından sağlanan sertifika verenlerin listesi ile istemci sertifikası veren adının eşleşmesini arar. Eşleşen ilk sertifika sunucuya gönderilir. Hiçbir sertifika eşleşmesi yoksa veya sertifika koleksiyonu boşsa, sunucuya anonim bir kimlik bilgisi gönderilir.

Sertifika Yapılandırması Araçları

İstemci ve sunucu sertifikası yapılandırması için bir dizi araç kullanılabilir.

Winhttpcertcfg.exe aracı, istemci sertifikalarını yapılandırmak için kullanılabilir. Winhttpcertcfg.exe aracı, Windows Server 2003 Resource Kit ile araçlardan biri olarak sağlanır. Bu araç, www.microsoft.comkonumundaki Windows Server 2003 Resource Kit Araçları'nın bir parçası olarak da indirilebilir.

HttpCfg.exe aracı, HttpListener sınıf için sunucu sertifikalarını yapılandırmak amacıyla kullanılabilir. HttpCfg.exe aracı, Windows Server 2003 ve Windows XP Service Pack 2 için destek araçlarından biri olarak sağlanır. HttpCfg.exe ve diğer destek araçları Windows Server 2003 veya Windows XP'de varsayılan olarak yüklenmez. Windows Server 2003'te. destek araçları, Windows Server 2003 CD-ROM'unun aşağıdaki klasör ve dosyadan ayrı olarak yüklenir:

\Support\Tools\Suptools.msi

Windows XP Service Pack 2 ile kullanmak için, Windows XP Destek Araçları www.microsoft.comadresinden indirilebilir.

HttpCfg.exe aracının bir sürümünün kaynak kodu da Windows Server SDK'sı ile örnek olarak sağlanır. HttpCfg.exe örneğinin kaynak kodu varsayılan olarak aşağıdaki klasör altındaki Windows SDK'sının bir parçası olarak ağ örnekleriyle birlikte yüklenir:

C:\Program Files\Microsoft SDKs\Windows\v1.0\Samples\NetDS\http\serviceconfig

Bu araçlara ek olarak, X509Certificate ve X509Certificate2 sınıfları, dosya sisteminden sertifika yüklemek için yöntemler sağlar.

Ayrıca bakınız