X509Certificate2.MatchesHostname(String, Boolean, Boolean) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Sertifikanın sağlanan ana bilgisayar adıyla eşleşip eşleşmediğini denetler.
public bool MatchesHostname (string hostname, bool allowWildcards = true, bool allowCommonName = true);
member this.MatchesHostname : string * bool * bool -> bool
Public Function MatchesHostname (hostname As String, Optional allowWildcards As Boolean = true, Optional allowCommonName As Boolean = true) As Boolean
Parametreler
- hostname
- String
Eşleşecek ana bilgisayar adı.
- allowWildcards
- Boolean
true
Konu Alternatif Adı uzantısındaki değerler için joker karakter eşleştirmesine izin vermek için dNSName
; aksi takdirde, false
.
- allowCommonName
- Boolean
true
Konu Ortak Adı değeriyle eşleştirmeye izin vermek için; aksi takdirde , false
.
Döndürülenler
true
sertifika istenen konak adıyla eşleşiyorsa; Aksi takdir -de false
Özel durumlar
hostname
Parametresi geçerli bir DNS ana bilgisayar adı veya IP adresi değil.
Sertifika birden çok Konu Alternatif Adı uzantısı içeriyor.
-veya-
Konu Alternatif Adı uzantısı veya Konu Adı kodu çözülemedi.
Açıklamalar
Bu yöntem, IETF RFC 6125 konak eşleştirme mantığının platformdan bağımsız bir uygulamasıdır. SslStream sınıfı, işletim sisteminden konak adı doğrulayıcısını kullanır ve bu da bu uygulamadan farklı değerlere neden olabilir.
Bu yöntemin mantıksal akışı:
- Ana bilgisayar adı bir IPAddress IPAddress eşleştirmesi olarak ayrıştırılırsa; aksi takdirde DNS Adı eşleştirmesi yapılır.
- IPAddress eşleştirmesi için, değerin Konu Alternatif Adı uzantısının girişindeki bir
iPAddress
değerle tam eşleşmesi gerekir. - DNS Adı eşleştirmesi için, değerin Konu Alternatif Adı uzantısının girişindeki bir
dNSName
değerle tam eşleşmesi veya aynı değerle joker karakter eşleşmesi olması gerekir. - Joker karakter eşleştirmesi için joker karakter girişteki
dNSName
ilk karakter, ikinci karakter nokta (.) ve girişin uzunluğu ikiden büyük olmalıdır.
Joker karakter yalnızca ilk döneme (.) kadar olan değerle eşleşecekhostname
, kalan karakterlerin tam eşleşmesi gerekir. - Konu Alternatif Adı uzantısı yoksa veya uzantı uygun türde girişlere sahip değilse, Ortak Ad eşleştirmesi geri dönüş olarak kullanılır.
- Ortak Ad eşleştirme için, Konu Adı tek bir Ortak Ad içeriyorsa ve bu öznitelik çok değerli Göreli Ayırt Edici Ad'ın bir parçası olarak tanımlanmamışsa, konak adı Ortak Ad özniteliğinin değeriyle eşleştirilir.
Joker karakterlerin Ortak Ad eşleştirmesinde kullanılmadığını unutmayın.
Bu uygulama, değerleri veya URI-ID
değerleri kapsam dışı olarak kabul eder SRV-ID
ve geri dönüşün DNS-ID
ile eşleşmesini CN-ID
durdurmak için bunların varlığını bir neden olarak kullanmaz.
Bu yöntem, ASCII olmayan konak adlarını IDNA gösterimine dönüştürmez. Unicode etki alanları için çağıranın veya eşdeğer bir IDNA eşleyicisini IdnMapping kullanması gerekir.
Etki alanı adları büyük/küçük harfe duyarlı olmadığından, bu yordam tarafından gerçekleştirilen "tam" eşleşmeler şeklindedir OrdinalIgnoreCase.
Bu yöntem, konak adının güvenilen bir yetkili tarafından yetkilendirilip yetkilendirilmediğini belirlemez. Ayrıca aracılığıyla X509Chaingüven denetimi yapılmadan güven kararı alınamaz.
Bu yöntem, sertifikanın genişletilmiş anahtar id-kp-serverAuth
kullanımı (1.3.6.1.5.5.7.3.1) olup olmadığını denetlemez.