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, veya X509Certificate2 sınıf nesneleri koleksiyonuna X509Certificate sertifika ekler. Örnek olarak e-posta kullanıldığında, sertifika koleksiyonu sınıfının özelliğiyle ClientCertificatesSmtpClient ilişkilendirilmiş bir X509CertificateCollectionörneğidir. sınıfı benzer HttpWebRequestClientCertificates bir özelliğe sahiptir.

ile X509Certificate2 sınıfı arasındaki X509Certificate birincil fark, özel anahtarın sınıfın X509Certificate 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, sunucu tarafından sağlanan sertifika verenler X509CertificateX509Certificate2 listesi ile istemci sertifikası veren adı arasında bir eşleşme aramak için içindeki veya bağlantıyla ilişkili sınıf nesnelerini numaralandırır. 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.com'daki Windows Server 2003 Resource Kit Araçları'nın bir parçası olarak da indirilebilir.

HttpCfg.exe aracı, sınıfı için sunucu sertifikalarını yapılandırmak için HttpListener 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.com'dan 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ında 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 ve X509Certificate2 sınıfları, X509Certificate dosya sisteminden sertifika yüklemek için yöntemler sağlar.

Ayrıca bkz.