LOG.log(POILogger.DEBUG, "data java type: " + data.getClass().getName()); OctetStreamData octetStreamData = (OctetStreamData) data; LOG.log(POILogger.DEBUG, "URI: " + octetStreamData.getURI()); InputStream octetStream = octetStreamData.getOctetStream();
return new OctetStreamData(dataStream, uri.toString(), null);
if (in.isElement()) { if (inclusiveNamespaces != null) { return new OctetStreamData(new ByteArrayInputStream (apacheCanonicalizer.canonicalizeSubtree (in.getSubNode(), inclusiveNamespaces))); } else { return new OctetStreamData(new ByteArrayInputStream (apacheCanonicalizer.canonicalizeSubtree (in.getSubNode()))); nodeSet = in.getNodeSet(); } else { return new OctetStreamData(new ByteArrayInputStream( apacheCanonicalizer.canonicalize( Utils.readBytesFromStream(in.getOctetStream())))); DOMSubTreeData subTree = (DOMSubTreeData)data; if (inclusiveNamespaces != null) { return new OctetStreamData(new ByteArrayInputStream (apacheCanonicalizer.canonicalizeSubtree (subTree.getRoot(), inclusiveNamespaces))); } else { return new OctetStreamData(new ByteArrayInputStream (apacheCanonicalizer.canonicalizeSubtree (subTree.getRoot()))); LOG.debug("Canonicalizing {} nodes", nodeSet.size()); } else { return new OctetStreamData(new ByteArrayInputStream(
private static Set getNodeSet(Data data)throws javax.xml.crypto.dsig.TransformException{ HashSet nodeSet = new HashSet(); if(data instanceof NodeSetData){ Iterator it = ((NodeSetData)data).iterator(); while(it.hasNext()){ Object node = it.next(); if(MessageConstants.debug){ logger.log(Level.FINEST,"Data is "+node); } nodeSet.add(node); } }else if(data instanceof OctetStreamData ){ try{ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //new com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl(); factory.setNamespaceAware(true); Document doc = factory.newDocumentBuilder().parse(((OctetStreamData)data).getOctetStream()); toNodeSet(doc,nodeSet); }catch(Exception ex){ logger.log(Level.SEVERE,"WSS1322.str_transform",ex); throw new javax.xml.crypto.dsig.TransformException(ex.getMessage()); } } return nodeSet; }
try { XMLSignatureInput xmlSignatureInput = new XMLSignatureInput(((OctetStreamData)data).getOctetStream()); str = (Element)xmlSignatureInput.getSubNode(); } catch (Exception ex) { return null; return new OctetStreamData(output.getOctetStream()); } catch (Exception ex) { throw new TransformException(ex);
final InputStream octetStream = octetStreamData.getOctetStream(); ) { relationshipsDocument = loadDocument(octetStream);
private OctetStreamData toOctetStreamData(Node node) throws TransformerException { Source source = new DOMSource(node); ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); Result result = new StreamResult(outputStream); TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); transformer.transform(source, result); LOG.debug("result: " + new String(outputStream.toByteArray())); return new OctetStreamData(new ByteArrayInputStream(outputStream.toByteArray())); }
try { XMLSignatureInput xmlSignatureInput = new XMLSignatureInput(((OctetStreamData)data).getOctetStream()); str = (Element)xmlSignatureInput.getSubNode(); } catch (Exception ex) { return null; return new OctetStreamData(output.getOctetStream()); } catch (Exception ex) { throw new TransformException(ex);
private static String c14Xml(final String xml) { if (xml == null) { return null; } try { final DocumentBuilder documentBuilder = DOCUMENT_BUILDER_FACTORY.newDocumentBuilder(); final Document document = documentBuilder.parse(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8))); final TransformService transformation = TransformService.getInstance(CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS, "DOM"); transformation.init(null); final NodeList allElements = document.getElementsByTagName("*"); final List<Node> elements = new ArrayList<>(); for (int i = 0; i < allElements.getLength(); i++) { elements.add(allElements.item(i)); } final OctetStreamData data = (OctetStreamData) transformation.transform((NodeSetData) elements::iterator, null); try (final InputStream stream = data.getOctetStream()) { final byte[] buffy = new byte[stream.available()]; stream.read(buffy); return new String(buffy, StandardCharsets.UTF_8); } } catch (GeneralSecurityException | TransformException | SAXException | IOException | ParserConfigurationException e) { throw new AssertionError(e); } }
LOG.debug("data java type: " + data.getClass().getName()); OctetStreamData octetStreamData = (OctetStreamData) data; LOG.debug("URI: " + octetStreamData.getURI()); InputStream octetStream = octetStreamData.getOctetStream(); Document relationshipsDocument; try {
private static OctetStreamData toOctetStreamData(final Node node) throws TransformerException { final Source source = new DOMSource(node); final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); final Result result = new StreamResult(outputStream); final TransformerFactory transformerFactory = TransformerFactory.newInstance(); final Transformer transformer = transformerFactory.newTransformer(); transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); //$NON-NLS-1$ transformer.transform(source, result); return new OctetStreamData(new ByteArrayInputStream(outputStream.toByteArray())); }
try { XMLSignatureInput xmlSignatureInput = new XMLSignatureInput(((OctetStreamData)data).getOctetStream()); str = (Element)xmlSignatureInput.getSubNode(); } catch (Exception ex) { return null; return new OctetStreamData(new ByteArrayInputStream(buf)); } catch (Exception ex) { throw new TransformException(ex);
private static String c14Xml(final String xml) { if (xml == null) { return null; } try { final DocumentBuilder documentBuilder = DOCUMENT_BUILDER_FACTORY.newDocumentBuilder(); final Document document = documentBuilder.parse(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8))); final TransformService transformation = TransformService.getInstance(CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS, "DOM"); transformation.init(null); final NodeList allElements = document.getElementsByTagName("*"); final List<Node> elements = new ArrayList<>(); for (int i = 0; i < allElements.getLength(); i++) { elements.add(allElements.item(i)); } final OctetStreamData data = (OctetStreamData) transformation.transform((NodeSetData) elements::iterator, null); try (final InputStream stream = data.getOctetStream()) { final byte[] buffy = new byte[stream.available()]; stream.read(buffy); return new String(buffy, StandardCharsets.UTF_8); } } catch (GeneralSecurityException | TransformException | SAXException | IOException | ParserConfigurationException e) { throw new AssertionError(e); } }
LOG.log(POILogger.DEBUG, "data java type: " + data.getClass().getName()); OctetStreamData octetStreamData = (OctetStreamData) data; LOG.log(POILogger.DEBUG, "URI: " + octetStreamData.getURI()); InputStream octetStream = octetStreamData.getOctetStream();
protected static Data transform(Data data,XMLCryptoContext context,java.io.OutputStream outputStream)throws javax.xml.crypto.dsig.TransformException{ try{ Set nodeSet = getNodeSet(data); if(outputStream == null){ ByteArrayOutputStream bs = new ByteArrayOutputStream(); new Canonicalizer20010315ExclOmitComments().engineCanonicalizeXPathNodeSet(nodeSet, "",bs,context); OctetStreamData osd = new OctetStreamData(new ByteArrayInputStream(bs.toByteArray())); bs.close(); return osd; }else{ new Canonicalizer20010315ExclOmitComments().engineCanonicalizeXPathNodeSet(nodeSet, "",outputStream,context); } return null; }catch(Exception ex){ logger.log(Level.SEVERE,"WSS1322.str_transform",ex); } return null; }
private static String c14Xml(final String xml) { if (xml == null) { return null; } try { final DocumentBuilder documentBuilder = DOCUMENT_BUILDER_FACTORY.newDocumentBuilder(); final Document document = documentBuilder.parse(new ByteArrayInputStream(xml.getBytes(StandardCharsets.UTF_8))); final TransformService transformation = TransformService.getInstance(CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS, "DOM"); transformation.init(null); final NodeList allElements = document.getElementsByTagName("*"); final List<Node> elements = new ArrayList<>(); for (int i = 0; i < allElements.getLength(); i++) { elements.add(allElements.item(i)); } final OctetStreamData data = (OctetStreamData) transformation.transform((NodeSetData) elements::iterator, null); try (final InputStream stream = data.getOctetStream()) { final byte[] buffy = new byte[stream.available()]; stream.read(buffy); return new String(buffy, StandardCharsets.UTF_8); } } catch (GeneralSecurityException | TransformException | SAXException | IOException | ParserConfigurationException e) { throw new AssertionError(e); } }
public Data dereference(URIReference uriReference, XMLCryptoContext context) throws URIReferenceException { if (null == uriReference) { throw new NullPointerException("URIReference cannot be null"); } if (null == context) { throw new NullPointerException("XMLCrytoContext cannot be null"); } String uri = uriReference.getURI(); try { uri = URLDecoder.decode(uri, "UTF-8"); } catch (UnsupportedEncodingException e) { LOG.warn("could not URL decode the uri: " + uri); } LOG.debug("dereference: " + uri); try { InputStream dataInputStream = findDataInputStream(uri); if (null == dataInputStream) { LOG.debug("cannot resolve, delegating to base DOM URI dereferencer: " + uri); return this.baseUriDereferencer.dereference(uriReference, context); } return new OctetStreamData(dataInputStream, uri, null); } catch (IOException e) { throw new URIReferenceException("I/O error: " + e.getMessage(), e); } }
OctetStreamData osd1 = (OctetStreamData)data1.getData(); OctetStreamData osd2 = (OctetStreamData)data2.getData(); InputStream stream1 = (InputStream)osd1.getOctetStream(); InputStream stream2 = (InputStream)osd2.getOctetStream(); byte [] b1= new byte[128]; byte [] b2= new byte[128];
@Override public Data dereference(final URIReference uriReference, final XMLCryptoContext context) throws URIReferenceException { if (null == uriReference) { throw new IllegalArgumentException("La referencia no puede ser nula"); //$NON-NLS-1$ } if (null == context) { throw new IllegalArgumentException("El contexto de firma no puede ser nulo"); //$NON-NLS-1$ } String uri = uriReference.getURI(); try { uri = URLDecoder.decode(uri, StandardCharsets.UTF_8.name()); } catch (final UnsupportedEncodingException e) { Logger.getLogger("es.gob.afirma").warning("No se puede decodificar la URI '" + uri + "': " + e); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } try ( final InputStream dataInputStream = findDataInputStream(uri); ) { if (null == dataInputStream) { return this.baseUriDereferencer.dereference(uriReference, context); } final byte[] data = AOUtil.getDataFromInputStream(dataInputStream); dataInputStream.close(); return new OctetStreamData(new ByteArrayInputStream(data), uri, null); } catch (final IOException e) { throw new URIReferenceException("Error de I/O: " + e, e); //$NON-NLS-1$ } }
try { in = new XMLSignatureInput (((OctetStreamData)data).getOctetStream()); } catch (Exception ex) { throw new TransformException(ex);