I think it's useful :)

I was mainly interested in this mail thread cause I worked with the
various WSS standards recently at work including their implementation
as it represented by the IBM WebSphere JAX-WS runtime. AFAIK early
JAX-RPC implementations of WebSphere were not able to consume a
password digest - only plain text was supported.

WS policy sets is another interesting topic...

Regards
Daniel

On Sat, Feb 28, 2009 at 10:06 PM, Jonathan Gallimore
<[email protected]> wrote:
> Not yet, although I'd be interested in working on this some more. I just
> wanted to get a feel of whether this is something we could include in
> OpenEJB, as I'd find it pretty useful for testing some webservice work I've
> done. If people feel it would be useful I'm happy to do some more work on
> adding more authentication schemes.
>
> Cheers
>
> Jon
>
> On Sat, Feb 28, 2009 at 8:59 PM, Daniel S. Haischt <
> - Show quoted text -
> [email protected]> wrote:
>
>> Just out of curiosity - Did you try to use a password digest/hash
>> instead? Using a nonce might be interesting as well (nonce is an
>> effective countermeasure against replay attacks). If you use SoapUI as
>> a WS client you could easily generate most of these WSS header
>> elements for testing purposes.
>>
>> Cheers
>> Daniel
>>
>> On Sat, Feb 28, 2009 at 9:51 PM, Jonathan Gallimore
>> <[email protected]> wrote:
>> > Yep. Here's the soap request captured by tcpmon:
>> >
>> > POST /CalculatorImpl HTTP/1.1
>> > Content-Type: text/xml; charset=UTF-8
>> > SOAPAction: ""
>> > Accept: *
>> > Cache-Control: no-cache
>> > Pragma: no-cache
>> > User-Agent: Java/1.6.0_11
>> > Host: 127.0.0.1:42040
>> > Connection: keep-alive
>> > Transfer-Encoding: chunked
>> >
>> > 2ce
>> > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";>
>> > <soap:Header>
>> > <wsse:Security xmlns:wsse="
>> >
>> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
>> "
>> > soap:mustUnderstand="1"><wsse:UsernameToken xmlns:wsu="
>> >
>> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd
>> "
>> >
>> wsu:Id="UsernameToken-47889642"><wsse:Username>jane</wsse:Username><wsse:Password
>> > Type="
>> >
>> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText
>> ">waterfall</wsse:Password></wsse:UsernameToken></wsse:Security></soap:Header><soap:Body><ns1:sum
>> > xmlns:ns1="http://superbiz.org/wsdl
>> > "><arg0>4</arg0><arg1>6</arg1></ns1:sum></soap:Body></soap:Envelope>
>> >
>> > Jon
>> >
>> > On Sat, Feb 28, 2009 at 6:42 PM, Daniel S. Haischt <
>> > [email protected]> wrote:
>> >
>> >> Are you using the username token profile ?
>> >>
>> >> On Sat, Feb 28, 2009 at 7:31 PM, Jonathan Gallimore
>> >> <[email protected]> wrote:
>> >> > I spent a bit more time looking at this - and added a bit more code. I
>> >> > noticed that the Jaxb tree for openejb-jar.xml has some webservice
>> >> security
>> >> > attributes that we aren't using, but I think Geronimo is. I've added
>> >> support
>> >> > that does simple username/password authentication using basic http
>> >> > mechanism, and an interceptor to do username/password auth using
>> >> WS-Security
>> >> > headers.
>> >> >
>> >> > I've uploaded a patch to
>> >> > http://people.apache.org/~jgallimore/webservices.diff<http://people.apache.org/%7Ejgallimore/webservices.diff>
>> <http://people.apache.org/%7Ejgallimore/webservices.diff>.
>> > - Show quoted text -
>> >> I be grateful on
>> >> > anyone's thoughts. Its pretty basic at the moment, but I think it
>> would
>> >> be
>> >> > nice if this could go into OpenEJB - if others agree, I'd like to open
>> a
>> >> > JIRA and do some more work on it.
>> >> >
>> >> > I've copied this to the dev@ list too in case anyone who might be
>> >> interested
>> >> > missed it, hope that's ok.
>> >> >
>> >> > Cheers
>> >> >
>> >> > Jon
>> >> >
>> >> > On Fri, Feb 20, 2009 at 1:06 PM, Jonathan Gallimore <
>> >> > [email protected]> wrote:
>> >> >
>> >> >> Hi Jean-Louis,
>> >> >>
>> >> >> Many thanks for your detailed reply and the link to the article. I'll
>> be
>> >> >> having a good look at this over the weekend. I had initially thought
>> >> just
>> >> >> applying basic auth was all there was to it, which is probably a bit
>> >> naive
>> >> >> of me!
>> >> >>
>> >> >> I think it would be worthwhile working out whether there's some
>> samples
>> >> >> (and maybe some enhancements) we could add to OpenEJB in this regard
>> -
>> >> I'm
>> >> >> sure others would find it useful too.
>> >> >>
>> >> >> Cheers,
>> >> >> Jon
>> >> >>
>> >> >>
>> >> >> On Fri, Feb 20, 2009 at 8:49 AM, Jean-Louis MONTEIRO <
>> >> >> [email protected]> wrote:
>> >> >>
>> >> >>>
>> >> >>> Jonathan,
>> >> >>>
>> >> >>> Here are some inputs.
>> >> >>>
>> >> >>>
>> >> >>> Jonathan Gallimore-2 wrote:
>> >> >>> >
>> >> >>> > Obviously I think it would be great if the standalone and embedded
>> >> >>> servers
>> >> >>> > which use their own HTTP listener could accept credentials via
>> basic
>> >> >>> > authentication, meanwhile Tomcat could do the authentication for
>> us
>> >> >>> based
>> >> >>> > on
>> >> >>> > however its been configured (currently it looks like a new
>> >> >>> StandardContext
>> >> >>> > is created for each webservice, and there is code to setup
>> >> >>> authentication,
>> >> >>> > but WsService.authMethod was always null when I debugged it,
>> causing
>> >> no
>> >> >>> > authentication to be applied, and I couldn't see how it could be
>> set
>> >> >>> > otherwise), and the user and role principals could be passed
>> through
>> >> >>> from
>> >> >>> > Tomcat to the relevant EJB container.
>> >> >>> >
>> >> >>> Definitively! (nice to have ;-)).
>> >> >>> Doing basic authentication (without ws-security) seems to be
>> possible
>> >> >>> using
>> >> >>> JAX-WS handlers.
>> >> >>>
>> >> >>>
>> >> >>> Jonathan Gallimore-2 wrote:
>> >> >>> >
>> >> >>> > To give a bit more background on how this has come about - my
>> >> colleague
>> >> >>> at
>> >> >>> > work has been working on some functionality as an EJB, and felt it
>> >> would
>> >> >>> > be
>> >> >>> > nice to have it available as a webservice - and adding the
>> >> @WebService
>> >> >>> > annotation to the EJB seemed to be a nice idea, rather then
>> creating
>> >> a
>> >> >>> > webservice as a separate class that just delegates through to the
>> EJB
>> >> as
>> >> >>> > you
>> >> >>> > describe -
>> >> >>> >
>> >> >>> I was probably not so clear.
>> >> >>> It seems to me, from an architecture point of view, it's better to
>> use
>> >> web
>> >> >>> services as facades. They are personal concerns you know ;-)
>> >> >>> Never mind, I had in mind an EJB Web Service (@stateless +
>> @webservice)
>> >> >>> which delegates to other business EJB and it works fine with OpenEJB
>> >> for
>> >> >>> simple cases.
>> >> >>>
>> >> >>>
>> >> >>> Jonathan Gallimore-2 wrote:
>> >> >>> >
>> >> >>> > and we hoped the container would handle the authentication for
>> >> >>> > us. When configured correctly, JBoss (4.2.2.GA) does seem to do
>> this
>> >> >>> for
>> >> >>> > us,
>> >> >>> > however OpenEJB doesn't at the moment - I don't actually know if
>> this
>> >> is
>> >> >>> > even supposed to work (or even whether its part of any of the JEE
>> >> spec -
>> >> >>> > I'll have to read up!).
>> >> >>> >
>> >> >>> I can't help you on this topic (not read this part of the spec).
>> >> >>> If you have 10 minutes, here is an interesting article
>> >> >>>
>> >> http://www.javaworld.com/javaworld/jw-02-2007/jw-02-handler.html?page=1
>> >> >>>
>> >> http://www.javaworld.com/javaworld/jw-02-2007/jw-02-handler.html?page=1
>> >> >>>
>> >> >>>
>> >> >>> Jonathan Gallimore-2 wrote:
>> >> >>> >
>> >> >>> > I think I should probably have a look at WS-Security - I'd be very
>> >> >>> > interested in a seeing a sample using OpenEJB/JAX-WS/WS-Security
>> if
>> >> >>> you're
>> >> >>> > putting one together.
>> >> >>> >
>> >> >>>
>> >> >>> OK, I've done some tests since yesterday morning. But, the way
>> OpenEJB
>> >> >>> publishes EJB as web services does not allow configuring
>> ws-security.
>> >> >>>
>> >> >>> When using CXF + WS-Security, it's quite simple: add a WSS4J
>> >> InInterceptor
>> >> >>> and a WSS4J OutInterceptor giving them a set of properties.
>> >> Interceptors
>> >> >>> can
>> >> >>> be configured using both a Spring application context or CXF
>> >> annotations
>> >> >>> (@InInterceptors @OutInterceptor).
>> >> >>>
>> >> >>> At a JAX-WS point of view we only have handlers (soap handlers and
>> >> logical
>> >> >>> handlers) so I have to spend some more time to look if we can manage
>> >> >>> WS-Security using handlers.
>> >> >>>
>> >> >>> More coming soon ;-)
>> >> >>>
>> >> >>> Kind regards,
>> >> >>> Jean-Louis
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>> --
>> >> >>> View this message in context:
>> >> >>>
>> http://www.nabble.com/Securing-a-webservice-tp22089576p22116953.html
>> >> >>> Sent from the OpenEJB User mailing list archive at Nabble.com.
>> >> >>>
>> >> >>>
>> >> >>
>> >> >
>> >>
>> >
>>
>

Reply via email to