/* * Copyright (c) 2011-2012 ICM Uniwersytet Warszawski All rights reserved. * See LICENCE file for licensing information. */ package eu.emi.security.authn.x509; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import javax.net.ssl.X509TrustManager; /** * This class wraps X509CertChainValidator so it can be easily used in * the standard Java SSL API. * * @author K. Benedyczak */ public class CommonX509TrustManager implements X509TrustManager { private X509CertChainValidator validator; /** * The constructor. * @param validator wrapped implementation that performs an actual validation */ public CommonX509TrustManager(X509CertChainValidator validator) { this.validator = validator; } /** * {@inheritDoc} */ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { ValidationResult result = validator.validate(chain); if (result.isValid()) return; throw new CertificateException(result.toString()); } /** * {@inheritDoc} */ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { ValidationResult result = validator.validate(chain); if (result.isValid()) return; throw new CertificateException(result.toString()); } /** * {@inheritDoc} */ public X509Certificate[] getAcceptedIssuers() { return validator.getTrustedIssuers(); } }