/** * Create an instance of {@link CryptographicConstraint } * */ public CryptographicConstraint createCryptographicConstraint() { return new CryptographicConstraint(); }
ListAlgo acceptableEncryptionAlgo = constraint.getAcceptableEncryptionAlgo(); if ((acceptableEncryptionAlgo != null) && Utils.isCollectionNotEmpty(acceptableEncryptionAlgo.getAlgo())) { if (!isIn(token.getEncryptionAlgoUsedToSignThisToken(), acceptableEncryptionAlgo.getAlgo())) { ListAlgo acceptableDigestAlgo = constraint.getAcceptableDigestAlgo(); if ((acceptableDigestAlgo != null) && Utils.isCollectionNotEmpty(acceptableDigestAlgo.getAlgo())) { if (!isIn(token.getDigestAlgoUsedToSignThisToken(), acceptableDigestAlgo.getAlgo())) { ListAlgo miniPublicKeySize = constraint.getMiniPublicKeySize(); if ((miniPublicKeySize != null) && Utils.isCollectionNotEmpty(miniPublicKeySize.getAlgo())) { String keySize = token.getKeyLengthUsedToSignThisToken(); AlgoExpirationDate algoExpirationDate = constraint.getAlgoExpirationDate(); if ((algoExpirationDate != null) && Utils.isCollectionNotEmpty(algoExpirationDate.getAlgo())) {
@Test public void testUnmarshalling() throws Exception { ConstraintsParameters constraintsParameters = unmarshal(new File("src/test/resources/constraint.xml")); Algo algo = constraintsParameters.getSignatureConstraints().getBasicSignatureConstraints().getCryptographic().getMiniPublicKeySize().getAlgo().get(0); assertNotNull(algo); String algoName = algo.getValue(); assertEquals("DSA", algoName); assertEquals("128", algo.getSize()); JAXBContext jc = JAXBContext.newInstance("eu.europa.esig.jaxb.policy"); Marshaller marshaller = jc.createMarshaller(); marshaller.marshal(constraintsParameters, new FileOutputStream("target/constraint.xml")); }
private Date extractExpirationDate(final String algorithm, CryptographicConstraint signatureCryptographicConstraint) { AlgoExpirationDate algoExpirationDate = signatureCryptographicConstraint.getAlgoExpirationDate(); String dateFormat = DateUtils.DEFAULT_DATE_FORMAT; if (algoExpirationDate != null) { if (Utils.isStringNotEmpty(algoExpirationDate.getFormat())) { dateFormat = algoExpirationDate.getFormat(); } List<Algo> algos = algoExpirationDate.getAlgo(); String foundExpirationDate = null; for (Algo algo : algos) { if (Utils.areStringsEqualIgnoreCase(algo.getValue(), algorithm)) { foundExpirationDate = algo.getDate(); } } if (Utils.isStringNotEmpty(foundExpirationDate)) { return DateUtils.parseDate(dateFormat, foundExpirationDate); } } return null; }