private Marshaller getMarshaller() throws JAXBException{ JAXBFilterProcessingContext wssContext = (JAXBFilterProcessingContext)context.get(MessageConstants.WSS_PROCESSING_CONTEXT); Marshaller marshaller = _jaxbContext.createMarshaller(); marshaller.setProperty("com.sun.xml.bind.xmlDeclaration", false); if(wssContext != null) marshaller.setProperty("com.sun.xml.bind.namespacePrefixMapper", new WSSNamespacePrefixMapper(wssContext.isSOAP12())); else marshaller.setProperty("com.sun.xml.bind.namespacePrefixMapper", new WSSNamespacePrefixMapper()); marshaller.setProperty(Marshaller.JAXB_FRAGMENT,true); return marshaller; }
FilterProcessingContext wssContext = (FilterProcessingContext)context.get(MessageConstants.WSS_PROCESSING_CONTEXT);
JAXBFilterProcessingContext wssContext = (JAXBFilterProcessingContext)context.get(MessageConstants.WSS_PROCESSING_CONTEXT);
/** Creates a new instance of StAXEnvelopedTransformWriter */ public StAXSTRTransformWriter(XMLStreamWriter writer,Data data,XMLCryptoContext xMLCryptoContext) { this.nextWriter = writer; this.data = data; if(data instanceof JAXBData){ ns = ((JAXBData)data).getNamespaceContext(); }else if(data instanceof StreamWriterData){ ns = ((StreamWriterData)data).getNamespaceContext(); } this.xMLCryptoContext = xMLCryptoContext; filterContext = (JAXBFilterProcessingContext) xMLCryptoContext.get(MessageConstants.WSS_PROCESSING_CONTEXT); }
public StAXSTRTransformWriter(Data data,XMLCryptoContext xMLCryptoContext,String refId) { this.data = data; if(data instanceof JAXBData){ ns = ((JAXBData)data).getNamespaceContext(); }else if(data instanceof StreamWriterData){ ns = ((StreamWriterData)data).getNamespaceContext(); } this.xMLCryptoContext = xMLCryptoContext; this.strId = refId; filterContext = (JAXBFilterProcessingContext) xMLCryptoContext.get(MessageConstants.WSS_PROCESSING_CONTEXT); }
Data dereferenceAttachments(final String uri, final XMLCryptoContext context) throws URIReferenceException{ JAXBFilterProcessingContext filterContext = (JAXBFilterProcessingContext) context.get(MessageConstants.WSS_PROCESSING_CONTEXT); SecuredMessage secureMsg = filterContext.getSecuredMessage(); Attachment attachment = secureMsg.getAttachment(uri); if(attachment == null){ throw new URIReferenceException ("Attachment Resource with Identifier "+uri+" was not found"); } AttachmentData attachData = new AttachmentData(attachment); return attachData; }
Data dereferenceAttachments (String uri, XMLCryptoContext context) throws URIReferenceException, XWSSecurityException { boolean sunAttachmentTransformProvider = true; FilterProcessingContext filterContext =(FilterProcessingContext) context.get (MessageConstants.WSS_PROCESSING_CONTEXT); SecurableSoapMessage secureMsg = filterContext.getSecurableSoapMessage (); AttachmentPart attachment = secureMsg.getAttachmentPart (uri); if(attachment == null){ throw new URIReferenceException ("Attachment Resource with Identifier "+uri+" was not found"); } if(sunAttachmentTransformProvider){ AttachmentData attachData = new AttachmentData (); attachData.setAttachmentPart (attachment); return attachData; }else{ //Attachments need to be serialized and returned as OctectStreamData //attachment.getDataHandler(); // new OctectStreamData(); throw new UnsupportedOperationException ("Not yet supported "); } // throw new URIReferenceException("Attachment Resource with Identifier "+uri+" was not found"); }
Data dereferenceURI (String uri, XMLCryptoContext context) throws URIReferenceException, XWSSecurityException{ FilterProcessingContext filterContext =(FilterProcessingContext) context.get (MessageConstants.WSS_PROCESSING_CONTEXT); SecurableSoapMessage secureMsg = filterContext.getSecurableSoapMessage (); if(uri == null || uri.equals ("")){ SOAPMessage msg = filterContext.getSOAPMessage (); Document doc = msg.getSOAPPart (); if(_constructor == null){ return convertToData ((Node)doc,true); }else{ try{ return (Data)_constructor.newInstance (new Object[] {doc,_false}); }catch(Exception ex){ //throw new XWSSecurityException(ex); } return convertToData ((Node)doc,true); } }else if(uri.charAt (0) == '#'){ return dereferenceFragment (secureMsg.getIdFromFragmentRef (uri),context); }else if(uri.startsWith ("cid:") || uri.startsWith ("attachmentRef:")){ return dereferenceAttachments (uri,context); }else if(uri.startsWith ("http")){ //throw new UnsupportedOperationException("Not yet supported "); return dereferenceExternalResource (uri,context); }else { return dereferenceFragment (uri,context); } //throw new URIReferenceException("Resource "+uri+" was not found"); }
Data dereferenceFragment(final String uri, final XMLCryptoContext context) throws XWSSecurityException{ JAXBFilterProcessingContext filterContext = (JAXBFilterProcessingContext) context.get(MessageConstants.WSS_PROCESSING_CONTEXT); HashMap elementCache = filterContext.getElementCache(); try{ if(elementCache.size() > 0){ Object obj = elementCache.get(uri); if(obj != null && obj instanceof Header){ Header reqdHeader = (Header)obj; JAXBContext jaxbContext = JAXBUtil.getJAXBContext(); JAXBElement jb = reqdHeader.readAsJAXB(jaxbContext.createUnmarshaller()); JAXBData jData = new JAXBDataImpl(jb, jaxbContext, filterContext.getNamespaceContext()); return jData; } } return getDataById(filterContext, uri); } catch(JAXBException jbe){ throw new XWSSecurityException(jbe); } catch(XMLStreamException sxe){ throw new XWSSecurityException(sxe); } }
private void setNamespaceAndPrefixList() { NamespaceAndPrefixMapper nsMapper = (NamespaceAndPrefixMapper)context.get(NamespaceAndPrefixMapper.NS_PREFIX_MAPPER); if(nsMapper != null){ NamespaceContextEx nc = nsMapper.getNamespaceContext(); Iterator<NamespaceContextEx.Binding> itr = nc.iterator(); while(itr.hasNext()){ final NamespaceContextEx.Binding nd = itr.next(); try { _exc14nCanonicalizer.writeNamespace(nd.getPrefix(),nd.getNamespaceURI()); } catch (XMLStreamException ex) { throw new XWSSecurityRuntimeException(ex); } } List incList = nsMapper.getInlusivePrefixList(); _exc14nCanonicalizer.setInclusivePrefixList(incList); } }
Data dereferenceFragment (String uri, XMLCryptoContext context) throws URIReferenceException, XWSSecurityException { FilterProcessingContext filterContext =(FilterProcessingContext) context.get(MessageConstants.WSS_PROCESSING_CONTEXT); HashMap elementCache = filterContext.getElementCache (); if(elementCache.size () > 0){
FilterProcessingContext filterContext =(FilterProcessingContext) context.get (MessageConstants.WSS_PROCESSING_CONTEXT); SecurableSoapMessage secureMsg = filterContext.getSecurableSoapMessage (); final Attr uriAttr = secureMsg.getSOAPMessage ().getSOAPPart ().createAttribute ("uri");
private static Key resolveDKT(XMLCryptoContext context, DerivedKeyTokenHeaderBlock token) throws XWSSecurityException{ FilterProcessingContext wssContext = (FilterProcessingContext)context.get(MessageConstants.WSS_PROCESSING_CONTEXT); AlgorithmSuite algSuite = wssContext.getAlgorithmSuite();
private static Key resolveSamlAssertion(XMLCryptoContext dsigContext, Element samlAssertion, Purpose purpose, String assertionID) throws MarshalException, KeySelectorException, XWSSecurityException{ FilterProcessingContext context = (FilterProcessingContext)dsigContext.get(MessageConstants.WSS_PROCESSING_CONTEXT); String samlSignatureResolved = (String)context.getExtraneousProperty(MessageConstants.SAML_SIG_RESOLVED); Element elem = null;
SignatureMethod sm = (SignatureMethod) method; List list = keyInfo.getContent(); FilterProcessingContext wssContext = (FilterProcessingContext)context.get(MessageConstants.WSS_PROCESSING_CONTEXT);
JAXBFilterProcessingContext wssContext = (JAXBFilterProcessingContext)context.get(MessageConstants.WSS_PROCESSING_CONTEXT);
private static Key resolve(JAXBElement securityTokenReference,XMLCryptoContext context, Purpose purpose)throws KeySelectorException { try{ JAXBFilterProcessingContext wssContext = (JAXBFilterProcessingContext)context.get(MessageConstants.WSS_PROCESSING_CONTEXT); boolean isPolicyRecipient = (wssContext.getMode()== JAXBFilterProcessingContext.WSDL_POLICY);
String normalizedIssuerName = RFC2253Parser.normalize(issuerName); try{ JAXBFilterProcessingContext wssContext = (JAXBFilterProcessingContext)context.get(MessageConstants.WSS_PROCESSING_CONTEXT); MLSPolicy inferredKB = wssContext.getSecurityContext().getInferredKB();
FilterProcessingContext filterContext = (FilterProcessingContext)context.get (MessageConstants.WSS_PROCESSING_CONTEXT); SecurableSoapMessage secureMessage = filterContext.getSecurableSoapMessage (); Document soapDocument = secureMessage.getSOAPPart ();
JAXBFilterProcessingContext wssContext = (JAXBFilterProcessingContext)context.get(MessageConstants.WSS_PROCESSING_CONTEXT); MLSPolicy inferredKB = wssContext.getSecurityContext().getInferredKB(); String wsuId = SOAPUtil.getIdFromFragmentRef(uri);