BouncyCastle - Создать магазин из объекта X509Certificate - PullRequest
0 голосов
/ 03 ноября 2019

Изначально я надеялся, что TimestampResponseGenerator автоматически включит публичный сертификат в ответ, если запрос имеет setCertReq(true), но теперь я понимаю, что мне нужно вручную добавить их в TimestampTokenGenerator с использованием addCertificates(Store certStore). Однако я могу только получить сертификат в стандартном Java certStore , а не в BouncyCastle Store , и я не могу найти способ конвертировать или создать объект Store с нуля.

Какой самый простой способ создать объект BouncyCastle 1.62+ Store с объектом X509Certificate?

Ответ (и вознаграждение) зависятвозможность добавления сертификатов к метке времени в конце. В магазине я застрял.

1 Ответ

0 голосов
/ 07 ноября 2019

Самый простой способ - использовать класс JcaCertStore. Это можно легко инициализировать с помощью коллекции сертификатов, а затем передать на TimestampTokenGenerator, используя addCertificates.

. В этом примере я сделал это с помощью метода, поскольку у меня нет точного контекста, который вы хотитечтобы разместить его, но вы можете извлечь две строки и разместить их, где вы хотите, конечно!

public void add(TimeStampTokenGenerator timeStampTokenGenerator, X509Certificate certificate) throws CertificateEncodingException {
    JcaCertStore store = new JcaCertStore(Collections.singleton(certificate));
    timeStampTokenGenerator.addCertificates(store);
}

Javadocs здесь

...