Преобразовать строку ocsp_response в объект OCSPResp - PullRequest
0 голосов
/ 28 февраля 2019

Я работаю над стандартом цифровой подписи (DSS).Я использую API для встраивания подписи в PDF, используя iText и C #.Один из запросов API возвращает ocsp_response в строковом формате.Теперь я хочу преобразовать строку ocsp_response в объект OCSPResp.Ниже приведен код Java.Но я хочу преобразовать его в C #

Java

oc1 = ocsp_responseTextBox.Text; // string ocsp_response from API
byte[] oc2 = Base64.getDecoder().decode(oc1);   
OCSPResp ocspResp = new OCSPResp(new ByteArrayInputStream(oc2));
BasicOCSPResp basicResp = (BasicOCSPResp)ocspResp.getResponseObject();
byte[] oc = basicResp.getEncoded();
byte [] sh = sgn.getAuthenticatedAttributeBytes(hash, cal, oc, null, CryptoStandard.CADES);
hexencodedDigest = new BigInteger(1,sh).toString(16);
hexencodedDigest = hexencodedDigest.toUpperCase();

c #

string oc1 = ocsp_responseTextBox.Text; // string ocsp_response from API
byte[] oc2 = Convert.FromBase64String(oc1);
OcspResp ocspResp = new OcspResp(new MemoryStream(oc2).ToArray());
BasicOcspResp basicResp = (BasicOcspResp)ocspResp.GetResponseObject();
byte[] oc = basicResp.GetEncoded();
byte[] sh = sgn.getAuthenticatedAttributeBytes(hash, oc, null, CryptoStandard.CADES);
hexencodedDigest = new BigInteger(1, sh).ToString(16);
hexencodedDigest = hexencodedDigest.ToUpper();

Но когда я отправляюэтот hexencodedDigest для API дает мне неправильный запрос.Что не так с моим кодом?

...