xades4j.providers.impl.ValidationDataFromCertValidationProvider Maven / Gradle / Ivy
/*
* XAdES4j - A Java library for generation and verification of XAdES signatures.
* Copyright (C) 2010 Luis Goncalves.
*
* XAdES4j is free software; you can redistribute it and/or modify it under
* the terms of the GNU Lesser General Public License as published by the Free
* Software Foundation; either version 3 of the License, or any later version.
*
* XAdES4j is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
* details.
*
* You should have received a copy of the GNU Lesser General Public License along
* with XAdES4j. If not, see .
*/
package xades4j.providers.impl;
import xades4j.providers.*;
import java.security.cert.X509CertSelector;
import java.security.cert.X509Certificate;
import java.util.Date;
import java.util.List;
import xades4j.XAdES4jException;
/**
* An implementation of {@code ValidationDataProvider} that obtains the validation
* data by validating the certificate.
* @author Luís
*/
public class ValidationDataFromCertValidationProvider implements ValidationDataProvider
{
private final CertificateValidationProvider certificateValidationProvider;
public ValidationDataFromCertValidationProvider(
CertificateValidationProvider certificateValidationProvider)
{
this.certificateValidationProvider = certificateValidationProvider;
}
@Override
public ValidationData getValidationData(
List certChainFragment) throws ValidationDataException
{
try
{
X509CertSelector cs = new X509CertSelector();
cs.setCertificate(certChainFragment.get(0));
return this.certificateValidationProvider.validate(cs, new Date(), certChainFragment);
} catch (XAdES4jException ex)
{
throw new ValidationDataException("Cannot validate certificate to obtain validation data", ex);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy