using System;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.IO;
using System.Net;
using System.Collections;
using System.Security.Cryptography.X509Certificates;
/*Bouncy castle*/
using Org.BouncyCastle.Ocsp;
using Org.BouncyCastle.Math;
using Org.BouncyCastle.Asn1.X509;
using Org.BouncyCastle.Crypto.Tls;
using Org.BouncyCastle.Asn1;
using Org.BouncyCastle.Asn1.Ocsp;
using Org.BouncyCastle.Utilities.Encoders;
using Org.BouncyCastle.X509;
public partial class UKeyVerification : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
X509Store store = new X509Store(StoreName.My);
store.Open(OpenFlags.ReadOnly);
X509CertificateCollection certificates =
X509Certificate2UI.SelectFromCollection
(
store.Certificates,
"Liste des certificats",
"Veuillez sélectionner un certificat",
X509SelectionFlag.SingleSelection
);
//Close certificate store
store.Close();
//Retrieve selected certificate
if (certificates.Count == 0) //the user has caceled shoosing certificate
{
return;
}
X509Certificate2 certificate = (X509Certificate2)certificates[0];
//Convert X509Certificate2 to Org.BouncyCastle.X509.X509Certificate
X509CertificateParser certParser = new X509CertificateParser();
Org.BouncyCastle.X509.X509Certificate CertBouncy = certParser.ReadCertificate(certificate.RawData);
//FileStream fs = new FileStream(@"C:\AV.cer",FileMode.Open);
//Org.BouncyCastle.X509.X509Certificate CertBouncy = certParser.ReadCertificate(fs);
//DoOcspRequest(new Uri("http://ocsp.eid.belgium.be"), CertBouncy.SerialNumber, CertBouncy);
DoOcspRequest(new Uri("http://10.27.141.13:8800"), CertBouncy.SerialNumber, CertBouncy);
if (status == null)
{
//System.Console.WriteLine("OCSP Response is GOOD");
HttpContext.Current.Response.Write("OCSP Response is GOOD" + "<br/>");
}
else
{
//System.Console.WriteLine("OCSP Response is REVOKED or UNKNOW");
HttpContext.Current.Response.Write("OCSP Response is REVOKED or UNKNOW" + "<br/>");
}