Hi Avner,
In order to create a custom signature, you have to develop a custom
SecurityAssertion (You can create a SecurityAssertion deriving your class
from one of the existing assertions like UsernameForCertificate or
MutualCertificate11Assertion or the base class SecurityAssertion).
A security assertion creates 4 filters:
a.. ClientOutputFilter: for outgoing messages on the client
a.. ClientInputFilter: for incoming messages on the client
a.. ServiceOutputFilter: for outgoing messages on the service
a.. ServiceInputFilter: for incoming messages on the service
For more details, take a look to this article,
http://msdn.microsoft.com/msdnmag/issues/06/02/WSE30/default.aspx
You will have to create a custom ClientOutput filter to add the custom
message signature, and a custom ServiceInput filter to validate it.
Regards,
Pablo Cibraro.
> Hello!
> I'm trying to create the following scenario:
[quoted text clipped - 29 lines]
> Avner Peled
> avnerus@gmail.com
avnerus@gmail.com - 30 Oct 2006 17:10 GMT
Thanks for your reply!
I'm actually already using a custom policy assertion...maybe it wasn't
understood but I did write in stage 5 "custom client policy assertion"
:)
I've made some advancement today.
My problem was that inside my ClientOutputFilter I was creating a
message signature with an X509SecurityToken which I generated from the
base64 certificate I got from the browser client. but turns out that
X509SecurityToken has a "Key" property which is an RSAOEP KeyAlgorithm
which has a SignatureFormatter which uses a locally stored private key
to sign the stream.
So now I've replaced all of those! in my custom SignatureFormatter I
override Sign() and instead of signing I return the stream to the
client so it will sign using javascript, try again and then in the
Sign() retry I will return what the client signed.
I will continue this tomorrow...
> Hi Avner,
>
[quoted text clipped - 51 lines]
> > Avner Peled
> > avnerus@gmail.com