I've just committed this. It's worked in all my tests for embedded,
standalone and Tomcat. Please shout if there's any problems.

Jon

On Tue, Mar 3, 2009 at 1:34 AM, David Blevins <[email protected]>wrote:

>
> On Feb 28, 2009, at 1:17 PM, Daniel S. Haischt wrote:
>
>  I think it's useful :)
>>
>
> I agree.  Very cool.
>
> -David
>
>
>  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>
>>>>>>>
>>>>>> <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