/** * @param signatureId the signature id to test * @return true if the signature Indication element is equals to {@link Indication#VALID} */ public boolean isSignatureValid(final String signatureId) { final String indicationValue = getIndication(signatureId); return Indication.VALID.equals(indicationValue); }
private boolean validateTslSignature(final List<X509Certificate> signingCertList, final byte[] bytes) { boolean coreValidity = false; if (signingCertList != null) { final XMLDocumentValidator xmlDocumentValidator = prepareSignatureValidation(signingCertList, bytes); final List<AdvancedSignature> signatures = xmlDocumentValidator.getSignatures(); if (signatures.size() == 0) { throw new DSSException("Not ETSI compliant signature. The Xml is not signed."); } final Reports reports = xmlDocumentValidator.validateDocument(); final SimpleReport simpleReport = reports.getSimpleReport(); final List<String> signatureIdList = simpleReport.getSignatureIdList(); final String signatureId = signatureIdList.get(0); final String indication = simpleReport.getIndication(signatureId); coreValidity = Indication.VALID.equals(indication); LOG.info("The TSL signature validity: " + coreValidity); if (!coreValidity) { LOG.info("The TSL signature validity details:\n" + simpleReport); throw new DSSException("Not ETSI compliant signature. The signature is not valid."); } } return coreValidity; }