我真的不确定下面的方法是否可行,因为我根本不是这个主题(安全、certificates...etc)方面的专家。
无论如何,我想做的是使用C#代码获取网站SSL证书的公钥。例如,有没有一种方法可以使用HTTP请求或其他方式从站点查询该信息?
为了让你们理解我为什么真的想这么做,我将简要地解释一下我想要实现的场景。基本上,我有一堆网站使用OAuth 2.0来实现彼此之间的信任状态。因此,假设Site1向Site2发出了一个请求,并向其发送了一个令牌,该令牌应该来自一个可信的授权服务器。Site2应该能够验证此令牌的真实性。
我希望这已经足够清楚了。
发布于 2013-03-19 00:38:52
我使用下面的代码块实现类似的目的。我希望它能有所帮助!
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;https://stackoverflow.com/questions/15449343
复制相似问题