Внешний CA. Проверка цепочки сертификатов - PullRequest
0 голосов
/ 22 января 2020

Предположим, есть внешний CA. Допустим, есть URL и другие параметры конфигурации. Во время выполнения я получаю цепочку сертификатов, которые мне нужно проверить с помощью CA.

Так что root сертификат цепочки должен быть каким-то образом зарегистрирован в CA. Также CA обрабатывает CRL, и некоторые сертификаты в цепочке могут быть отозваны.

У меня есть такой код

CertificateFactory cf = CertificateFactory.getInstance(certificateType);
List<Certificate> certx = //list of certificates obtaining

//creating certification path (chain to be validated)
CertPath path = cf.generateCertPath(certx);
//validator creation. Algorithm to be defined
CertPathValidator validator = CertPathValidator.getInstance(certPathValidatorAlgorithm);

//get key store
KeyStore keystore = getKeyStore(keyStorePassword);
//get list of CRLs (certificate revoke list)
Collection<? extends CRL> crls = getCrls(cf);

PKIXParameters params = new PKIXParameters(keystore);
CertStore store = CertStore.getInstance(certStoreType, new CollectionCertStoreParameters(crls));
params.addCertStore(store);
//Validate will throw an exception on invalid chains.
PKIXCertPathValidatorResult r = (PKIXCertPathValidatorResult) validator.validate(path, params);
r.getTrustAnchor();

В случае локальных cacert и CRL logi c работает нормально, но ЦС должен быть внешним.

Поэтому getKeyStore () и getCrls () должны быть настроены для доступа к внешнему серверу ЦС, устанавливая sh доверенное соединение и др c. et c.

Не могли бы вы объяснить, какие конфигурации и протоколы (CMP?) будут использоваться для поддержки этого? Есть ли что-то подобное, например, в BouncyCastle?

ОБНОВЛЕНИЕ: На самом деле это вообще не связано с браузерами и https. В XML мы получаем цепочку сертификатов в кодировке base64. Сертификаты были выданы CA. Нам нужно проверить цепочку - как-то отправить ее в CA и получить ответ Ok / Not Ok или получить список CRL от CA и предоставить механизм для сохранения действительных выданных сертификатов в качестве корней для наших цепочек.

...