나는 주어진 도메인 이름 SSL 인증서에서 데이터를 얻으려고합니다. 예를 들어 나는 어떤 웹 사이트 주소에 넣고 싶습니다. "http://stackoverflow.com"그리고 내 코드는 먼저 SSL 인증서가 있는지 확인합니다. 그럴 경우 인증서의 만료일을 철회하고 싶습니다. [DB에서 도메인 이름을 읽는 중] 예 : http://www.digicert.com/help/SSL 인증서 정보 얻기 - .net
만료일을 확인하려면 웹 서비스를 만들어야합니다. 어떻게 구현할 수 있습니까 ?? - 나는 RequestCertificateValidationCallback 및 ClientCertificates 등등과 같은 다른 것들을 훑어 보았다. 나는 이것에 대해 새로운 것이므로 무엇을해야하는지 확신 할 수 없다.
제가 완전히 틀릴 수 있습니다 (따라서 왜 도움이 필요합니까?)하지만 HTTPWebRequest를 작성한 다음 어떻게 든 클라이언트 인증서와 특정 요소를 요청하게됩니까?
@SSL 인증서 프리 페치 .NET 예제를 시도했지만 forbitten 403 오류가 발생했습니다.
도움을 주시면 감사하겠습니다. - 감사합니다.
이것은 403 금지 된 오류를 던지고있는 코드입니다.
Uri u = new Uri("http://services.efi.com/");
ServicePoint sp = ServicePointManager.FindServicePoint(u);
string groupName = Guid.NewGuid().ToString();
HttpWebRequest req = HttpWebRequest.Create(u) as HttpWebRequest;
req.Accept = "*/*";
req.ConnectionGroupName = groupName;
using (WebResponse resp = req.GetResponse())
{
// Ignore response, and close the response.
}
sp.CloseConnectionGroup(groupName);
// Implement favourite null check pattern here on sp.Certificate
string expiryDate = sp.Certificate.GetExpirationDateString();
string str = expiryDate;
https://services.efi.com/을 사용해 보았지만 여전히 403 오류가 발생합니다. 내가 'http://ipp.efi.com'을 사용했을 때 완벽하게 작동했습니다. – user166013
예, 후자의 URL이 공개적으로 액세스 할 수 있고 (자동으로 'https'로 리디렉션되기 때문에) 전자는 그렇지 않습니다. IE에서 탐색 할 수 없으면 코드에서도로드 할 수 없습니다. 'services.efi.com'에 액세스 할 수 없습니다 (자격 증명이나 액세스 수단이없는 경우 제외). 아마도이 도메인에 대한 도메인 이름보다는 특정 페이지 Uri가 필요합니다 ... –
오, 답장을 보내 주셔서 감사합니다 :) .. 내 도메인 아래에 (services.efi.com) 호스팅 웹 사이트 수가 많습니다. requiremnet은 SSL 만료 날짜를 결정하고 필요한 조치를 취하는 것입니다 (만료 날짜가 약 20 일이 지나면 메일 보내기). 그렇다면 내 도메인의 SSL 인증서 정보를 얻으려면 어떻게해야합니까? – user166013