private TimestampReference createCertificateTimestampReference(final CertificateToken certificateToken) throws DSSException { usedCertificatesDigestAlgorithms.add(DigestAlgorithm.SHA1); final TimestampReference reference = new TimestampReference(DigestAlgorithm.SHA1.name(), certificateToken.getDigestValue(DigestAlgorithm.SHA1)); return reference; }
private TimestampReference createCertificateTimestampReference(final DigestAlgorithm digestAlgorithm, final byte[] certHash) { final TimestampReference reference = new TimestampReference(digestAlgorithm.name(), DSSUtils.base64Encode(certHash)); return reference; }
public TimestampReference(final String signatureId) { if (signatureId == null) { throw new DSSNullException(String.class, "signatureId"); } this.signatureId = signatureId; this.digestAlgorithm = DigestAlgorithm.SHA1.name(); this.digestValue = DSSUtils.base64Encode(DSSUtils.digest(DigestAlgorithm.SHA1, signatureId.getBytes())); this.category = TimestampReferenceCategory.SIGNATURE; }
/** * This method creates * * @param element * @return * @throws eu.europa.ec.markt.dss.exception.DSSException */ private TimestampReference createCertificateTimestampReference(final Element element) throws DSSException { final String xmlDigestAlgorithm = DSSXMLUtils.getNode(element, xPathQueryHolder.XPATH__DIGEST_METHOD_ALGORITHM).getTextContent(); final DigestAlgorithm digestAlgorithm = DigestAlgorithm.forXML(xmlDigestAlgorithm); usedCertificatesDigestAlgorithms.add(digestAlgorithm); final Element digestValueElement = DSSXMLUtils.getElement(element, xPathQueryHolder.XPATH__DIGEST_VALUE); final String digestValue = (digestValueElement == null) ? "" : digestValueElement.getTextContent(); final TimestampReference reference = new TimestampReference(digestAlgorithm.name(), digestValue); return reference; }
@Override public List<TimestampReference> getTimestampedReferences() { final List<TimestampReference> references = new ArrayList<TimestampReference>(); final List<CertificateRef> certRefs = getCertificateRefs(); for (final CertificateRef certificateRef : certRefs) { final String digestValue = DSSUtils.base64Encode(certificateRef.getDigestValue()); final DigestAlgorithm digestAlgorithm = DigestAlgorithm.forOID(certificateRef.getDigestAlgorithm()); usedCertificatesDigestAlgorithms.add(digestAlgorithm); final TimestampReference reference = new TimestampReference(digestAlgorithm.name(), digestValue); references.add(reference); } final List<OCSPRef> ocspRefs = getOCSPRefs(); for (final OCSPRef ocspRef : ocspRefs) { final DigestAlgorithm digestAlgorithm = ocspRef.getDigestAlgorithm(); if (digestAlgorithm == null) { // -444 continue; } final String digestValue = DSSUtils.base64Encode(ocspRef.getDigestValue()); TimestampReference reference = new TimestampReference(digestAlgorithm.getName(), digestValue, TimestampReferenceCategory.REVOCATION); references.add(reference); } final List<CRLRef> crlRefs = getCRLRefs(); for (final CRLRef crlRef : crlRefs) { final String digestValue = DSSUtils.base64Encode(crlRef.getDigestValue()); TimestampReference reference = new TimestampReference(crlRef.getDigestAlgorithm().getName(), digestValue, TimestampReferenceCategory.REVOCATION); references.add(reference); } return references; }
private static void prepareSignaturePolicy(WsParameters wsParameters, BLevelParameters bLevelParameters) { final BLevelParameters.Policy signaturePolicy = bLevelParameters.getSignaturePolicy(); if (signaturePolicy != null) { final Policy policy = new Policy(); policy.setId(signaturePolicy.getId()); final String policyDigestAlgorithmString = signaturePolicy.getDigestAlgorithm().name(); final DigestAlgorithm wsDigestAlgorithm = DigestAlgorithm.valueOf(policyDigestAlgorithmString); policy.setDigestAlgorithm(wsDigestAlgorithm); final byte[] digestValue = signaturePolicy.getDigestValue(); policy.setDigestValue(digestValue); wsParameters.setSignaturePolicy(policy); } }
private static void prepareKeyParameters(SignatureParameters parameters, WsParameters wsParameters) { final String signatureLevelString = parameters.getSignatureLevel().name(); final SignatureLevel signatureLevel = SignatureLevel.fromValue(signatureLevelString); wsParameters.setSignatureLevel(signatureLevel); final String signaturePackagingString = parameters.getSignaturePackaging().name(); final SignaturePackaging signaturePackaging = SignaturePackaging.valueOf(signaturePackagingString); wsParameters.setSignaturePackaging(signaturePackaging); final String encryptionAlgorithmString = parameters.getEncryptionAlgorithm().name(); final EncryptionAlgorithm encryptionAlgorithm = EncryptionAlgorithm.fromValue(encryptionAlgorithmString); wsParameters.setEncryptionAlgorithm(encryptionAlgorithm); // System.out.println("####>: " + parameters.getDigestAlgorithm()); final String digestAlgorithmString = parameters.getDigestAlgorithm().name(); final DigestAlgorithm digestAlgorithm = DigestAlgorithm.fromValue(digestAlgorithmString); wsParameters.setDigestAlgorithm(digestAlgorithm); final XMLGregorianCalendar xmlGregorianCalendar = DSSXMLUtils.createXMLGregorianCalendar(new Date()); wsParameters.setSigningDate(xmlGregorianCalendar); final byte[] encoded = DSSUtils.getEncoded(parameters.getSigningCertificate()); wsParameters.setSigningCertificateBytes(encoded); }