if (part == null) { LOG.log(POILogger.DEBUG, "cannot resolve, delegating to base DOM URI dereferencer", uri); return this.baseUriDereferencer.dereference(uriReference, context);
private Data dereference(XMLCryptoContext context) throws XMLSignatureException { Data data = null; // use user-specified URIDereferencer if specified; otherwise use deflt URIDereferencer deref = context.getURIDereferencer(); if (deref == null) { deref = DOMURIDereferencer.INSTANCE; } try { data = deref.dereference(this, context); LOG.debug("URIDereferencer class name: {}", deref.getClass().getName()); LOG.debug("Data class name: {}", data.getClass().getName()); } catch (URIReferenceException ure) { throw new XMLSignatureException(ure); } return data; }
private Data dereference(XMLCryptoContext context) throws XMLSignatureException { Data data = null; // use user-specified URIDereferencer if specified; otherwise use deflt URIDereferencer deref = context.getURIDereferencer(); try { data = deref.dereference(this, context); } catch (URIReferenceException ure) { throw new XMLSignatureException(ure); } return data; }
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); } }
protected static Node deReference(final Node node,XMLCryptoContext context)throws URIReferenceException { /*NodeList nodeList = ((Document)node).getElementsByTagNameNS(WSSE_EXT,"SecurityTokenReference"); final Node domNode = nodeList.item(0);*/ URIDereferencer dereferencer = context.getURIDereferencer(); //Dereference SecurityTokenReference; DOMURIReference domReference = new DOMURIReference(){ public Node getHere(){ return node; } public String getURI(){ return null; } public String getType(){ return null; } }; Data data = dereferencer.dereference(domReference, context); //Node parentNode = node.getParentNode(); Iterator nodeIterator = ((NodeSetData)data).iterator(); if(nodeIterator.hasNext()){ return (Node)nodeIterator.next(); }else{ throw new URIReferenceException("URI "+((Element)node).getAttribute("URI") + "not found"); } }
@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$ } }
private static Data getData(Reference reference,DOMValidateContext context) throws Exception{ final String uri = reference.getURI(); URIReference uriRef = new URIReference(){ public String getURI(){ return uri; } public String getType(){ return null; } }; Data inputData = DSigResolver.getInstance().dereference(uriRef, context); if(inputData instanceof AttachmentData){ return inputData; } List transformList = reference.getTransforms(); Iterator itr = transformList.iterator(); while(itr.hasNext()){ Transform transform = (Transform)itr.next(); inputData = getData(transform,inputData,context); } return inputData; }
@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); } }
if (null == dataInputStream) { LOG.debug("cannot resolve, delegating to base DOM URI dereferener: " + uri); return this.baseUriDereferener.dereference(uriReference, context);
return this.baseUriDereferener.dereference(uriReference, context);
Data data = deref.dereference(this, context);
return this.baseUriDereferener.dereference(uriReference, context);
token = deRef.dereference(ref,xMLCryptoContext); }catch(URIReferenceException ue){ logger.log(Level.SEVERE, LogStringsMessages.WSS_1716_ERROR_DEREFERENCE_STR_TRANSFORM());
if (part == null) { LOG.log(POILogger.DEBUG, "cannot resolve, delegating to base DOM URI dereferencer", uri); return this.baseUriDereferencer.dereference(uriReference, context);
NodeSetData set =(NodeSetData) resolver.dereference(uriRef,context); Iterator itr = set.iterator(); while(itr.hasNext()){
Data data = resolver.dereference (uriRef, context);
StreamWriterData data = (StreamWriterData)resolver.dereference(uriRef,context);
@Override public Data dereference(final URIReference domRef, final XMLCryptoContext context) throws URIReferenceException { try { return this.defaultUriDereferencer.dereference(domRef, context);
@Override public Data dereference(final URIReference domRef, final XMLCryptoContext context) throws URIReferenceException { try { return this.defaultUriDereferencer.dereference(domRef, context);