Доступ к самозаверяющим данным сертификата - PullRequest
0 голосов
/ 31 октября 2018

У меня есть сайт asp.net mvc, развернутый на iis. Самозаверяющий сертификат SSL используется для защиты трафика. Я хотел бы получить доступ к этому самоподписанному сертификату с моего asp.net, вероятно, в классе startup или что-то еще, чтобы получить действительность самоподписанного сертификата (мне нужен этот показатель для чего-то другого).

Как я могу это сделать?

Я бы с удовольствием выложил какой-нибудь код или то, что я пробовал до сих пор, но, к сожалению, я понятия не имею, с чего начать!

Я был бы очень признателен за любую помощь.

Редактировать

Чтобы перефразировать мой вопрос, скажем, у меня есть веб-служба asp.net, развернутая в IIS, как я могу получить доступ к сертификатам в этом IIS и получить их срок действия (с помощью веб-службы с помощью кода c #)

1 Ответ

0 голосов
/ 31 октября 2018

Вы можете сделать это, открыв хранилище сертификатов и найдя сертификаты на основе критериев поиска. Если вы создали самоподписанный сертификат, вы должны кое-что о нем знать.

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...