/** * Create an instance of {@link XmlSigningCertificate } * */ public XmlSigningCertificate createXmlSigningCertificate() { return new XmlSigningCertificate(); }
@Override public String getSigningCertificateId() { XmlSigningCertificate currentSigningCertificate = getCurrentSigningCertificate(); if (currentSigningCertificate != null) { return currentSigningCertificate.getId(); } return Utils.EMPTY_STRING; }
@Override public boolean isAttributePresent() { XmlSigningCertificate currentSigningCertificate = getCurrentSigningCertificate(); return (currentSigningCertificate != null) && Utils.isTrue(currentSigningCertificate.isAttributePresent()); }
public boolean isSigningCertificateIdentified() { XmlSigningCertificate signingCertificate = signature.getSigningCertificate(); if (signingCertificate != null) { return signingCertificate.isDigestValueMatch() && signingCertificate.isIssuerSerialMatch(); } return false; }
@Test public void signingCertificateRecognitionCheck() throws Exception { FileInputStream fis = new FileInputStream("src/test/resources/it.xml"); DiagnosticData diagnosticData = LoadPolicyUtils.getJAXBObjectFromString(fis, DiagnosticData.class, "/xsd/DiagnosticData.xsd"); assertNotNull(diagnosticData); XmlSigningCertificate xsc = new XmlSigningCertificate(); xsc.setAttributePresent(true); xsc.setDigestValueMatch(true); xsc.setDigestValuePresent(true); xsc.setIssuerSerialMatch(true); xsc.setId("79513A7C5EFA8B43C0042CAAA132226FFD959EA9AA9B9331A5BF3F6383381DBC"); XmlSignature sig = new XmlSignature(); sig.setSigningCertificate(xsc); LevelConstraint constraint = new LevelConstraint(); constraint.setLevel(Level.FAIL); eu.europa.esig.dss.validation.reports.wrapper.DiagnosticData wrapper = new eu.europa.esig.dss.validation.reports.wrapper.DiagnosticData( diagnosticData); XmlISC result = new XmlISC(); SigningCertificateRecognitionCheck scrc = new SigningCertificateRecognitionCheck(result, new SignatureWrapper(sig), wrapper, constraint); scrc.execute(); List<XmlConstraint> constraints = result.getConstraint(); assertEquals(1, constraints.size()); assertEquals(XmlStatus.OK, constraints.get(0).getStatus()); }
@Test public void digestValueMatchCheckTest() throws Exception { XmlSigningCertificate xsc = new XmlSigningCertificate(); xsc.setDigestValueMatch(true); XmlSignature sig = new XmlSignature(); sig.setSigningCertificate(xsc); LevelConstraint constraint = new LevelConstraint(); constraint.setLevel(Level.FAIL); XmlISC result = new XmlISC(); DigestValueMatchCheck dvmc = new DigestValueMatchCheck(result, new SignatureWrapper(sig), constraint); dvmc.execute(); List<XmlConstraint> constraints = result.getConstraint(); assertEquals(1, constraints.size()); assertEquals(XmlStatus.OK, constraints.get(0).getStatus()); }
@Test public void digestValuePresentCheckTest() throws Exception { XmlSigningCertificate xsc = new XmlSigningCertificate(); xsc.setDigestValuePresent(true); XmlSignature sig = new XmlSignature(); sig.setSigningCertificate(xsc); LevelConstraint constraint = new LevelConstraint(); constraint.setLevel(Level.FAIL); XmlISC result = new XmlISC(); DigestValuePresentCheck dvpc = new DigestValuePresentCheck(result, new SignatureWrapper(sig), constraint); dvpc.execute(); List<XmlConstraint> constraints = result.getConstraint(); assertEquals(1, constraints.size()); assertEquals(XmlStatus.OK, constraints.get(0).getStatus()); }
@Test public void issuerSerialMatchCheckTest() throws Exception { XmlSigningCertificate xsc = new XmlSigningCertificate(); xsc.setIssuerSerialMatch(true); XmlSignature sig = new XmlSignature(); sig.setSigningCertificate(xsc); LevelConstraint constraint = new LevelConstraint(); constraint.setLevel(Level.FAIL); XmlISC result = new XmlISC(); IssuerSerialMatchCheck ismc = new IssuerSerialMatchCheck(result, new SignatureWrapper(sig), constraint); ismc.execute(); List<XmlConstraint> constraints = result.getConstraint(); assertEquals(1, constraints.size()); assertEquals(XmlStatus.OK, constraints.get(0).getStatus()); }
@Test public void signingCertificateAttributePresentCheck() throws Exception { XmlSigningCertificate xsc = new XmlSigningCertificate(); xsc.setAttributePresent(true); XmlSignature sig = new XmlSignature(); sig.setSigningCertificate(xsc); LevelConstraint constraint = new LevelConstraint(); constraint.setLevel(Level.FAIL); XmlISC result = new XmlISC(); SigningCertificateAttributePresentCheck scapc = new SigningCertificateAttributePresentCheck(result, new SignatureWrapper(sig), constraint); scapc.execute(); List<XmlConstraint> constraints = result.getConstraint(); assertEquals(1, constraints.size()); assertEquals(XmlStatus.OK, constraints.get(0).getStatus()); }
@Override public boolean isIssuerSerialMatch() { XmlSigningCertificate currentSigningCertificate = getCurrentSigningCertificate(); return (currentSigningCertificate != null) && Utils.isTrue(currentSigningCertificate.isIssuerSerialMatch()); }
@Override public boolean isDigestValuePresent() { XmlSigningCertificate currentSigningCertificate = getCurrentSigningCertificate(); return (currentSigningCertificate != null) && Utils.isTrue(currentSigningCertificate.isDigestValuePresent()); }
@Override public boolean isDigestValueMatch() { XmlSigningCertificate currentSigningCertificate = getCurrentSigningCertificate(); return (currentSigningCertificate != null) && Utils.isTrue(currentSigningCertificate.isDigestValueMatch()); }
@Test public void digestValueNotMatchCheckTest() throws Exception { XmlSigningCertificate xsc = new XmlSigningCertificate(); xsc.setDigestValueMatch(false); XmlSignature sig = new XmlSignature(); sig.setSigningCertificate(xsc); LevelConstraint constraint = new LevelConstraint(); constraint.setLevel(Level.FAIL); XmlISC result = new XmlISC(); DigestValueMatchCheck dvmc = new DigestValueMatchCheck(result, new SignatureWrapper(sig), constraint); dvmc.execute(); List<XmlConstraint> constraints = result.getConstraint(); assertEquals(1, constraints.size()); assertEquals(XmlStatus.NOT_OK, constraints.get(0).getStatus()); } }
@Test public void digestValueNotPresentCheckTest() throws Exception { XmlSigningCertificate xsc = new XmlSigningCertificate(); xsc.setDigestValuePresent(false); XmlSignature sig = new XmlSignature(); sig.setSigningCertificate(xsc); LevelConstraint constraint = new LevelConstraint(); constraint.setLevel(Level.FAIL); XmlISC result = new XmlISC(); DigestValuePresentCheck dvpc = new DigestValuePresentCheck(result, new SignatureWrapper(sig), constraint); dvpc.execute(); List<XmlConstraint> constraints = result.getConstraint(); assertEquals(1, constraints.size()); assertEquals(XmlStatus.NOT_OK, constraints.get(0).getStatus()); } }
@Test public void issuerSerialNotMatchCheckTest() throws Exception { XmlSigningCertificate xsc = new XmlSigningCertificate(); xsc.setIssuerSerialMatch(true); XmlSignature sig = new XmlSignature(); sig.setSigningCertificate(xsc); LevelConstraint constraint = new LevelConstraint(); constraint.setLevel(Level.FAIL); XmlISC result = new XmlISC(); IssuerSerialMatchCheck ismc = new IssuerSerialMatchCheck(result, new SignatureWrapper(sig), constraint); ismc.execute(); List<XmlConstraint> constraints = result.getConstraint(); assertEquals(1, constraints.size()); assertEquals(XmlStatus.OK, constraints.get(0).getStatus()); } }
@Test public void signingCertificateAttributeNotPresentCheck() throws Exception { XmlSigningCertificate xsc = new XmlSigningCertificate(); xsc.setAttributePresent(false); XmlSignature sig = new XmlSignature(); sig.setSigningCertificate(xsc); LevelConstraint constraint = new LevelConstraint(); constraint.setLevel(Level.FAIL); XmlISC result = new XmlISC(); SigningCertificateAttributePresentCheck scapc = new SigningCertificateAttributePresentCheck(result, new SignatureWrapper(sig), constraint); scapc.execute(); List<XmlConstraint> constraints = result.getConstraint(); assertEquals(1, constraints.size()); assertEquals(XmlStatus.NOT_OK, constraints.get(0).getStatus()); } }