Google 検索アプライアンスと ASP 間の認証に関係する障害に遭遇しました。通常、検索アプライアンスから保護されたページを要求する場合、検索アプライアンスは資格情報を要求し、これらの資格情報を使用して保護された結果へのアクセスを試みます。この試行が成功すると、ページが結果リストに表示されます。ASP はクライアントに代わって検索アプライアンスに接続するため、資格情報を収集して検索アプライアンスに渡す必要があります。これを達成するために文書化されたいくつかの異なる方法を試しましたが、うまくいかないようです。以下は私が試したコードです:
'Bypass SSL since discovery.gov.mb.ca does not have valid SSL cert (NOT PRODUCTION SAFE)
ServerCertificateValidationCallback = New System.Net.Security.RemoteCertificateValidationCallback(AddressOf customXertificateValidation)
googleUrl = "https://removed.com"
Dim rdr As New XmlTextReader(googleUrl)
Dim resolver As New XmlUrlResolver()
Dim myCred As New System.Net.NetworkCredential("USERNAME", "PASSWORD", Nothing)
Dim credCache As New CredentialCache()
credCache.Add(New Uri(googleUrl), "Basic", myCred)
resolver.Credentials = credCache
rdr.XmlResolver = resolver
doc = New System.Xml.XPath.XPathDocument(rdr)
path = doc.CreateNavigator()
Private Function customXertificateValidation(ByVal sender As Object, ByVal certificate As System.Security.Cryptography.X509Certificates.X509Certificate, ByVal chain As System.Security.Cryptography.X509Certificates.X509Chain, ByVal sslPolicyErrors As Net.Security.SslPolicyErrors) As Boolean
Return True
End Function