X509CertificateParser certParser = new X509CertificateParser();
X509Certificate cert = certParser.ReadCertificate(b);
certByte = getOcspPackage(cert.SerialNumber, cert, CertificateID.HashSha1);
HttpWebRequest request;
request = WebRequest.Create("
ocsp.pki.kz:80") as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/ocsp-request";
request.AllowWriteStreamBuffering = true;
request.BeginGetRequestStream(new AsyncCallback(RequestCallBack1), request);
private static void RequestCallBack1(IAsyncResult ar)
{
// Отправляем запрос, добавляем постом параметры
HttpWebRequest request = (HttpWebRequest)ar.AsyncState;
using (Stream streamPost = request.EndGetRequestStream(ar))
{
streamPost.Write(certByte, 0, certByte.Length);
streamPost.Close();
request.BeginGetResponse(new AsyncCallback(ResponseCallback1), request);
}
}
private static byte[] getOcspPackage(BigInteger serialNr, X509Certificate cacert, string hashAlg)
{
OcspReqGenerator gen = new OcspReqGenerator();
CertificateID certId = new CertificateID(hashAlg, (Org.BouncyCastle.X509.X509Certificate)cacert, serialNr);
gen.AddRequest(certId);
OcspReq req;
req = gen.Generate();
return req.GetEncoded();
}