Проверка сертификата в Java 5? - PullRequest
0 голосов
/ 26 апреля 2010

Я ищу пример проверки OCSP сертификата клиента в Java 5. Кроме того, как конфигурация в файле java.security используется для этой цели?

1 Ответ

0 голосов
/ 26 апреля 2010
static {
    Security.setProperty("ocsp.enable", "true");
}

public boolean validate(X509Certificate certificate, CertPath certPath,
        PKIXParameters parameters) throws GeneralSecurityException {
    try {
        CertPathValidator cpv = CertPathValidator.getInstance("PKIX");
        PKIXCertPathValidatorResult result = (PKIXCertPathValidatorResult) cpv
                .validate(certPath, parameters);
        Signature.LOG.debug("Validation result is: " + result);
        return true; // if no exception is thrown
    } catch (CertPathValidatorException cpve) {

        // if the exception is (or is caused by)
        // CertificateRevokedException, return false;
        // otherwise re-throw, because this indicates a failure to perform
        // the validation
        Throwable cause = ExceptionUtils.getRootCause(cpve);
        Class<? extends Throwable> exceptionClass = cause != null ? cause.getClass()
                : cpve.getClass();
        if (exceptionClass.getSimpleName().equals("CertificateRevokedException")) {
            return false;
        }
        throw cpve;
    }
}
...