访问自签名证书详细信息
Access the self signed certificate details
我有一个 asp.net mvc 网站部署到 iis。使用自签名 SSL 证书来保护流量。我想从我的 asp.net 访问这个自签名证书,可能在 startup
class 或其他地方,以获得自签名证书的有效性(我需要这个度量别的东西)。
我该怎么做?
我很乐意 post 一些代码,或者我到目前为止尝试过的代码,但遗憾的是我不知道从哪里开始!
非常感谢任何帮助。
编辑
换句话说我的问题,假设我有一个部署到 IIS 的 asp.net 网络服务,我如何访问该 IIS 中的证书,并检索它们的有效期(从网络服务中使用 c#代码)
您可以通过打开证书存储并根据搜索条件查找证书来执行此操作。如果它是您创建的自签名证书,您应该对此有所了解。
object value = "AcmeOrganization";
X509FindType findType = X509FindType.FindByIssuerName;
StoreName storeName = StoreName.My;
StoreLocation storeLocation = StoreLocation.CurrentUser;
var store = new X509Store(storeName, storeLocation);
try
{
store.Open(OpenFlags.ReadOnly);
var certs = store.Certificates.Find(findType, value, true);
if (certs.Count > 0)
{
return certs[0];
}
}
finally
{
store.Close();
store = null;
}
这将为您提供您正在寻找的证书,然后您可以调用 Verify 进行链式验证。 X509Certificate2 对象将提供其他属性以及过期时间。
certs[0].Verify()
我有一个 asp.net mvc 网站部署到 iis。使用自签名 SSL 证书来保护流量。我想从我的 asp.net 访问这个自签名证书,可能在 startup
class 或其他地方,以获得自签名证书的有效性(我需要这个度量别的东西)。
我该怎么做?
我很乐意 post 一些代码,或者我到目前为止尝试过的代码,但遗憾的是我不知道从哪里开始!
非常感谢任何帮助。
编辑
换句话说我的问题,假设我有一个部署到 IIS 的 asp.net 网络服务,我如何访问该 IIS 中的证书,并检索它们的有效期(从网络服务中使用 c#代码)
您可以通过打开证书存储并根据搜索条件查找证书来执行此操作。如果它是您创建的自签名证书,您应该对此有所了解。
object value = "AcmeOrganization";
X509FindType findType = X509FindType.FindByIssuerName;
StoreName storeName = StoreName.My;
StoreLocation storeLocation = StoreLocation.CurrentUser;
var store = new X509Store(storeName, storeLocation);
try
{
store.Open(OpenFlags.ReadOnly);
var certs = store.Certificates.Find(findType, value, true);
if (certs.Count > 0)
{
return certs[0];
}
}
finally
{
store.Close();
store = null;
}
这将为您提供您正在寻找的证书,然后您可以调用 Verify 进行链式验证。 X509Certificate2 对象将提供其他属性以及过期时间。
certs[0].Verify()