return new OctetStreamData(dataStream, uri.toString(), null);
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())); }
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())); }
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; }
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); } }
@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$ } }
return new OctetStreamData(dataInputStream, uri, null); return apacheNodeSetData; return new OctetStreamData(dataInputStream, uri, null); } catch (IOException e) { throw new URIReferenceException("I/O error: " + e.getMessage(), e);
private javax.xml.crypto.Data canonicalize(AttachmentData data,OutputStream outputStream) throws javax.xml.crypto.dsig.TransformException{ try{ AttachmentPart attachment = data.getAttachmentPart(); ByteArrayOutputStream os = new ByteArrayOutputStream(); attachment.getDataHandler().writeTo(os); OutputStream byteStream = null; ByteArrayInputStream byteInputStream = new ByteArrayInputStream(os.toByteArray()); if(outputStream == null){ byteStream = new ByteArrayOutputStream(); }else{ byteStream = outputStream; } Canonicalizer canonicalizer = CanonicalizerFactory.getCanonicalizer(attachment.getContentType()); InputStream is = canonicalizer.canonicalize(byteInputStream,byteStream); if(is!= null) return new OctetStreamData(is); return null; }catch(javax.xml.crypto.dsig.TransformException te){ logger.log(Level.SEVERE,"WSS1318.ac.transform.error",te); throw te; }catch(Exception ex){ logger.log(Level.SEVERE,"WSS1318.ac.transform.error",ex); throw new javax.xml.crypto.dsig.TransformException(ex.getMessage()); } }
@Override public Data dereference(final URIReference uriReference, final XMLCryptoContext context) throws URIReferenceException { String uri = uriReference.getURI(); // TODO: Following the test case: XAdESTest003 test: testTDetached() the URI can be like: should we accept this URI and what about the baseURI ? // <ds:Reference Id="Reference0" URI="./TARGET_BBB.bin"> // The following rule was added to comply this functionality: // BEGIN: if (uri.startsWith("./")) { uri = uri.substring(2); } // :END if (!uri.equals(documentURI)) { final URIDereferencer uriDereferencer = factory.getURIDereferencer(); final Data data = uriDereferencer.dereference(uriReference, context); if (LOG.isInfoEnabled()) { LOG.info("--> Reference dereferenced: " + uriReference.getURI() + "=" + (data != null) + " | Reference type: " + uriReference.getType()); } return data; } if(document==null) { return null; } final InputStream octetStream = document.openStream(); return new OctetStreamData(octetStream); } }
return this.baseUriDereferener.dereference(uriReference, context); return new OctetStreamData(dataInputStream, uri, null);
return this.baseUriDereferener.dereference(uriReference, context); return new OctetStreamData(dataInputStream, uri, null);
Canonicalizer canonicalizer = CanonicalizerFactory.getCanonicalizer(attachment.getContentType()); InputStream is = canonicalizer.canonicalize(byteInputStream,byteStream); if(is != null) return new OctetStreamData(is); return null; }catch(javax.xml.crypto.dsig.TransformException te){
private Data canonicalize(AttachmentData attachmentData, OutputStream os) throws TransformException { try{ Attachment attachment = attachmentData.getAttachment(); InputStream is = attachment.asInputStream(); OutputStream byteStream = null; if (os == null) { byteStream = new ByteArrayOutputStream(); } else { byteStream = os; } Canonicalizer canonicalizer = CanonicalizerFactory.getCanonicalizer(attachment.getContentType()); InputStream resultIs = canonicalizer.canonicalize(is,byteStream); if(resultIs!= null) return new OctetStreamData(resultIs); return null; }catch(Exception ex){ throw new TransformException(ex.getMessage()); } } }
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(
return new OctetStreamData(new ByteArrayInputStream(baos.getBytes(),0,baos.getLength()));
return new OctetStreamData( new ByteArrayInputStream( ((ByteArrayOutputStream)outputStream).toByteArray()
return new OctetStreamData( new ByteArrayInputStream( ((ByteArrayOutputStream)outputStream).toByteArray()
return null; return new OctetStreamData(new ByteArrayInputStream(buf)); } catch (Exception ex) { throw new TransformException(ex);
} else if (xsi.isOctetStream() || xsi.isByteArray()) { try { return new OctetStreamData (xsi.getOctetStream(), xsi.getSourceURI(), xsi.getMIMEType());