Re: HELP! WSE Token Manager calling another webservice
- From: "JB" <jbijleveld@xxxxxxxxx>
- Date: 2 Nov 2005 07:32:32 -0800
Today is a good day since we found the cause of the problems!
It is very well described in the following article
http://blogs.msdn.com/kevinha/archive/2005/02/15/373254.aspx
The problem is that the client, who owns the private key of the
certificate, sends a request to the webservice, passing the
certificate.Then, the webservice wants to pass that certificate to
another webservice but the webservice does NOT have its private key.
Therefore the webservice cannot add the certificate to the request and
the authentication webservice will never receive a certificate. That is
why the second webservice will return an error 403 (Access denied),
More specifically it returns a 403.7 telling us that no client
certificate was supplied.
To solve this we had two options:
First option:
Install the client certificate in the Local Computer\Personal
certificate store on the server hosting the processing webservice. The
certificate must be installed there WITH its private key AND the ASPNET
account (on Windows XP) must be granted the permission to access that
certificate.
We grant the permission using the X509 Certificate Tool from the
WebService Enhancements 2 installation.
That scenario works but is not practical in real deployment scenario's.
However, doing so helped us to determine the real cause of the problem.
Our second option:
The WSE Token manager of the Processing webservice gets the certificate
from the client and then gets its content as a byte array. That byte
array is then passed to the authentication webservice as an extra input
parameter. The Authentication webservice uses the byte array to restore
a real certificate object (ofcourse without the private key) and uses
that to authenticate the user.
The Processing webservice CAN use its own certificate to authenticate
itself to the Authentication webservice. If the authentication
webservice is then set to require a certificate it's more secure.
I hope this article will help you in your development efforts and save
you some of the time we invested in investigating our problem.
Sincerely,
Jeroen Bijleveld
.
- References:
- HELP! WSE Token Manager calling another webservice
- From: jbijleveld
- HELP! WSE Token Manager calling another webservice
- Prev by Date: WSE 3 - How to map policy to webmethods?
- Next by Date: WSE 3 - How to decrypt a soap message using an x509?
- Previous by thread: HELP! WSE Token Manager calling another webservice
- Next by thread: Re: WSE 3.0 Examples
- Index(es):
Relevant Pages
|