/* * 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 <http://www.gnu.org/licenses/>. */ package xades4j.verification; import java.math.BigInteger; /** * Thrown during verification of the {@code SigningCertificate} property if the * issuer/serial on {@code KeyInfo} is different from the one in the signing certificate * reference. * @author Luís */ public class SigningCertificateIssuerSerialMismatchException extends SigningCertificateVerificationException { private final String signingCertIssuerName, keyInfoIssuerName; private final BigInteger signingCertSerialNumber, keyInfoSerialNumber; public SigningCertificateIssuerSerialMismatchException( String signingCertIssuerName, BigInteger signingCertSerialNumber, String keyInfoIssuerName, BigInteger keyInfoSerialNumber) { this.signingCertIssuerName = signingCertIssuerName; this.keyInfoIssuerName = keyInfoIssuerName; this.signingCertSerialNumber = signingCertSerialNumber; this.keyInfoSerialNumber = keyInfoSerialNumber; } public String getKeyInfoIssuerName() { return keyInfoIssuerName; } public BigInteger getKeyInfoSerialNumber() { return keyInfoSerialNumber; } public String getSigningCertIssuerName() { return signingCertIssuerName; } public BigInteger getSigningCertSerialNumber() { return signingCertSerialNumber; } @Override protected String getVerificationMessage() { throw new UnsupportedOperationException("The issuer name and/or serial number on the SigningCertificate property and the KeyInfo element don't match"); } }