Что такое C# эквивалент addOtherRevocationInfo для ответа OCSP на реализацию Java Bouncy Castle? - PullRequest
0 голосов
/ 03 марта 2020

Мы должны подписать запрос веб-службы и добавить значение EncapsulatedOCSPValue. Нам дали Java пример, но мы должны сделать это в C#, потому что остальная часть нашего кода находится в C#, и я должен признать, что я действительно не понимаю этого. В примере кода используется Bouncy Castle, и Bouncy Castle имеет реализации Java и C#.

В примере Java встречается следующая строка:

ocspResponse.ifPresent(response ->
                generator.addOtherRevocationInfo(id_pkix_ocsp_response, OCSPResponse.getInstance(response)));

Здесь эквивалент C# Bouncy Castle не имеет метода addOtherRevocationInfo. Что эквивалентно в C#? Будет ли generator.GetGeneratedDigests().Add(...) таким же?

Редактировать 1:
Мы обнаружили одну вещь: generator.GetGeneratedDigests().Add(...) не работает, поскольку ничего не добавляет.

Редактировать 2:
Когда я декомпилирую источник в Java, я нахожу:

public void addOtherRevocationInfo(ASN1ObjectIdentifier var1, ASN1Encodable var2) { 
    this.crls.add(new DERTaggedObject(false, 1, new OtherRevocationInfoFormat(var1, var2)));
}

Здесь crls это просто ArrayList. Вот еще один метод, который не реализован в C#, насколько я могу видеть:

public void addCRL(X509CRLHolder var1) {
    this.crls.add(var1.toASN1Structure());
}

Так как X509CRLHolder также не реализован в C#, похоже, что здесь мы спускаемся в кроличью нору ,

Редактировать 3:
Мы разочаровались в поиске решения этой проблемы (оказывается, нам этот вызов не нужен). Версия C# Bouncy Castle, к сожалению, является подмножеством версии Java и, похоже, не имеет аналогов.

Ссылки:

...