Share via


X509Certificate2.MatchesHostname(String, Boolean, Boolean) Yöntem

Tanım

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şecek hostname , 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-IDdurdurmak 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.

Şunlara uygulanır