protected void addManifestObject( Document document , List<Reference> references , List<XMLObject> objects) throws XMLSignatureException { List<Reference> manifestReferences = new ArrayList<>(); addManifestReferences(manifestReferences); Manifest manifest = getSignatureFactory().newManifest(manifestReferences); List<XMLStructure> objectContent = new ArrayList<>(); objectContent.add(manifest); addSignatureTime(document, objectContent); XMLObject xo = getSignatureFactory().newXMLObject(objectContent, ID_PACKAGE_OBJECT, null, null); objects.add(xo); Reference reference = newReference("#"+ID_PACKAGE_OBJECT, null, XML_DIGSIG_NS+"Object", null, null); references.add(reference); }
private Manifest constructManifest(XMLSignatureFactory signatureFactory, Document document) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { List<Reference> manifestReferences = new LinkedList<Reference>(); try { addManifestReferences(signatureFactory, document, manifestReferences); } catch (Exception e) { throw new RuntimeException("error: " + e.getMessage(), e); } return signatureFactory.newManifest(manifestReferences); }
protected void addManifestObject( Document document , List<Reference> references , List<XMLObject> objects) throws XMLSignatureException { List<Reference> manifestReferences = new ArrayList<>(); addManifestReferences(manifestReferences); Manifest manifest = getSignatureFactory().newManifest(manifestReferences); List<XMLStructure> objectContent = new ArrayList<>(); objectContent.add(manifest); addSignatureTime(document, objectContent); XMLObject xo = getSignatureFactory().newXMLObject(objectContent, ID_PACKAGE_OBJECT, null, null); objects.add(xo); Reference reference = newReference("#"+ID_PACKAGE_OBJECT, null, XML_DIGSIG_NS+"Object", null, null); references.add(reference); }
private static Manifest constructManifest(final XMLSignatureFactory fac, final byte[] ooXmlDocument) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, IOException, ParserConfigurationException, SAXException { final DigestMethod digestMethod = fac.newDigestMethod(DigestMethod.SHA256, null); final List<Reference> manifestReferences = new LinkedList<>(); addRelationshipsReferences(fac, manifestReferences, ooXmlDocument, digestMethod); // Se obtiene el inputstream del fichero [Content_Types].xml para inicializar el ContentTypeManager try ( final InputStream contentXml = getContentTypesXMLInputStream(ooXmlDocument); ) { final ContentTypeManager contentTypeManager = new ContentTypeManager(contentXml); addParts(fac, contentTypeManager, manifestReferences, ooXmlDocument, CONTENT_DIRS, digestMethod); } return fac.newManifest(manifestReferences); }