in net/JetBrains.SignatureVerifier/src/Crypt/OcspVerifier.cs [106:135]
private async Task<OcspResp> getOcspResponceAsync(string ocspResponderUrl, OcspReq request, TimeSpan timeout)
{
if (!ocspResponderUrl.StartsWith("http"))
{
_logger.Error("Only http(s) is supported for OCSP calls");
return null;
}
_logger.Trace($"OCSP request: {ocspResponderUrl}");
try
{
byte[] array = request.GetEncoded();
using var httpClient = new HttpClient();
httpClient.Timeout = timeout;
httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue(OCSP_RESPONSE_TYPE));
var content = new ByteArrayContent(array);
content.Headers.ContentType = new MediaTypeHeaderValue(OCSP_REQUEST_TYPE);
var response = await httpClient.PostAsync(ocspResponderUrl, content);
var responseStream = await response.Content.ReadAsStreamAsync();
return new OcspResp(responseStream);
}
catch (Exception ex)
{
var msg = $"Cannot get OCSP response for url: {ocspResponderUrl}";
_logger.Error(msg);
throw new Exception(msg, ex);
}
}