2

現在、サーバーに接続して構成ファイルを取得するコードに取り組んでいます。これは、HTTPS を介して安全な方法で行う必要があります。現在の実装が実際にはこの要件を満たしていないことがわかりました。

HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("https://www.configserver.com/...");

if (ReloadGlobals.IgnoreSSLErrors) // always true
    httpWebRequest.AuthenticationLevel = AuthenticationLevel.None;

if (m_ReloadConfig.DontCheckSSLCert) // always true
    ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(OnCheckSSLCert);

httpWebesponse = (HttpWebResponse)httpWebRequest.GetResponse();

リモート コールバックは次のように実装されます。

private static bool OnCheckSSLCert(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
    return true;
}

私は HTTPS についてよく知りませんが、これはあまり意味がなく、回避策のように見えます。したがって、これを適切な方法で実装する方法を見つける必要があります。

あらゆるアドバイスに感謝します。

編集:要件の一部:

構成サーバーのアドレスと URL が決定されると、ピアはその IP アドレスへの HTTPS 接続を形成する必要があります。構成サーバーのオプションの URL が提供された場合、[RFC2818] で説明されているように、証明書は URL のドメイン名と一致する必要があります。それ以外の場合、[RFC2818] で説明されているように、証明書はオーバーレイ名と一致する必要があります。HTTPS 証明書が名前の一致に合格した場合、ノードは構成ファイルの新しいコピーを取得する必要があります。

4

0 に答える 0