6

私はこのテーマ(セキュリティ、証明書など)の専門家ではないため、以下が実行可能かどうかについてはよくわかりません。

とにかく、私がやりたいことは、C# コードを使用して Web サイトの SSL 証明書の公開鍵を取得することです。HTTPリクエストなどを使用してサイトからその情報を照会する方法はありますか?

なぜ私が本当にそうしたいのかを理解していただくために、私が実現したいシナリオを簡単に説明します。基本的に、OAuth 2.0 を使用して相互の信頼状態を実現する Web サイトが多数あります。Site1したがって、リクエストを発行してSite2、信頼できる認可サーバーからのものと思われるトークンを送信したとしましょう。Site2このトークンの信頼性を検証できる必要があります。

それが十分に明確だったことを願っています。

4

1 に答える 1

7

同様の目的で、次のコード ブロックを使用します。役に立てば幸いです!!!

        Uri u = new Uri(url);
        ServicePoint sp = ServicePointManager.FindServicePoint(u);

        string groupName = Guid.NewGuid().ToString();
        HttpWebRequest req = HttpWebRequest.Create(u) as HttpWebRequest;
        req.ConnectionGroupName = groupName;

        using (WebResponse resp = req.GetResponse())
        {

        }
        sp.CloseConnectionGroup(groupName);
        byte[] key = sp.Certificate.GetPublicKey();

        return key;
于 2013-03-18T16:38:52.103 に答える