Java - Получить цепочку сертификатов - PullRequest
1 голос
/ 22 сентября 2010

У меня есть сертификат, закодированный в Base64 ----- НАЧАТЬ СЕРТИФИКАТ ----- MIIGezCCBWOgAwIBA ...., как получить из него корневые и промежуточные сертификаты, которые появляются в пути сертификации!

1 Ответ

0 голосов
/ 18 февраля 2012

У меня была такая же проблема раньше. Видите ли, сертификат имеет поле эмитента, в котором указана тема эмитента.
Вы можете сравнить это, и / или вы можете проверить подпись. Только ЦС может проверить подпись сертификата.
Примерно так:

//load all the ca certificates and get their public keys
caCertificate.getIssuerDN().equals(caCertificate[i].getSubjectDN());
// OR/AND

try {
   verifySignature(certificate,
        caCertificate[i].getPublicKey());
    //issuer found
}
catch (Exception e) {
    // not the issuer
}

Я не тестировал код, но вы поняли.

EDIT:

В Java есть несколько классов, специально созданных для проверки цепочки. один из них - класс CertPathBuilder. Я все еще изучаю, как его использовать. Я всегда создаю это с неправильными параметрами, я полагаю ...

РЕДАКТИРОВАТЬ 2:

Я использую то, что было вдохновлено этим .

удачи

...