Thursday, May 21, 2009

WCF Web service and Java Axis client - Message level security with certificates.

We were facing issue with Axis 2 client talking to WCF service protected using message level security.

Note that client will sign message using its private key and encrypt using server's public key while server while sending response will sign with his private key and encrypt using clients public key


Solution -
We tried using Test certificate which has DN = "Test" as server's private key and it worked fine.



we configured wcf webservice with private key of test.pfx and java axis client with public key of test.pfx. We used verisign original certificate as client private key.

Request has
CN=Test

Response has

CN=VeriSign Class 2 MPKI Individual Subscriber CA - G2, OU=Terms of use at https://www.verisign.com/rpa (c)08, OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US


2)
By using verisign certificate, we also tried using instead of in client policy file , but got same exception on WCF side,



3)

We looked at java axis source code, to see how it contructs X509IssuerName in soap message, code says that is follows RFC 2253 (http://www.ietf.org/rfc/rfc2253.txt) , so it seems that Java axis is normalizing the IssuerName as per rfc 2253 i.e No spaces after comma between CN and OU and so on. Also it uses \ to esacpe comma inside O=VeriSign, Inc. as per rfc 2253

e.g (CN=VeriSign Class 2 MPKI Individual Subscriber CA - G2,OU=Terms of use at https://www.verisign.com/rpa (c)08,OU=VeriSign Trust Network,O=VeriSign\, Inc.,C=US),

So it seems that wcf does not support above normalization












----------------------------
Client - Axis-2 Version 1.3 with Rampart version 1.3

Service - WCF Service with message level security on .Net3.5 service SP1

Web.config of WCF Web Service is

















































1.

We are trying to consume above WCF web service which is using Message Level Security [using client and server certificates.]. WCF service throws Soap Fault exception saying " An error occurred when verifying security for the message.".

After enabling message level logging on WCF service, we see following error in event viewer:

Message authentication failed.
Service: http://xxx/Gateway/v2.0/Authentication.svc
Action: http://xxxxxx/v2.0/Authentication/Login
ClientIdentity:
ActivityId:
MessageSecurityException: The EncryptedKey clause was not wrapped with the required encryption token 'System.IdentityModel.Tokens.X509SecurityToken'.

Soap message created by Axis2 client is





2009-03-17T11:21:36.389Z
2009-03-17T11:26:36.389Z







C=US,O=VeriSign\, Inc.,OU=VeriSign Trust Network,OU=Terms of use at https://www.verisign.com/rpa (c)08,CN=VeriSign Class 2 MPKI Individual Subscriber CA - G2

42434585466876238486390762643181460020





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









2.

We are able to consume same WCF service using wcf client using same server and client certificates.

The soap message in this case is





2009-03-17T10:59:20.389Z
2009-03-17T11:04:20.389Z

MIIE9TCCA92gAwIBAgIQcr2EElpLCvNFlLc2BcKXdTANBgkqhkiG9w0BAQUFADCBwjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3JwYSAoYykwODE8MDoGA1UEAxMzVmVyaVNpZ24gQ2xhc3MgMiBNUEtJIEluZGl2aWR1YWwgU3Vic2NyaWJlciBDQSAtIEcyMB4XDTA4MDczMTAwMDAwMFoXDTA5MDczMTIzNTk1OVowgeQxGzAZBgNVBAoUElRSQUlOTElORS5DT00gTFRELjELMAkGA1UECxQCSVMxRjBEBgNVBAsTPXd3dy52ZXJpc2lnbi5jb20vcmVwb3NpdG9yeS9DUFMgSW5jb3JwLiBieSBSZWYuLExJQUIuTFREKGMpOTkxJzAlBgNVBAsUHldTRyBDb25zdW1lciBJRCAtIElXU0dfVFdfQ09SUDEbMBkGA1UEAxMSQ29ycG9yYXRlIENvbnN1bWVyMSowKAYJKoZIhvcNAQkBFhthbmFudC5lYXN0QHRoZXRyYWlubGluZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCabWfkZ9jgI1tvROaiLy1I5qIm4o1adi0f/NH0dmx2x6UZx11i7IzVCMcN0olAg15TSefnfS3ULzIGQdm4JpCwbRfFFKpby45poLpfGyL7HwCCiowsnpWolY+wEfodZZLjQJH8dA0nSxRFo7lUOIVibaGvmS2MuDXOTPxXsFvja+otaeREFtLWSvrmX2eiZMu2qawHhklR5hD9rdJQuMqsberoNbfj8vX8IBxSuWoXAutDRVN1DB4GFACSpxTDOGf/pbZySYOKMg86ybFKryiKoTv7G6+hU/lCN9igbiNxbIwyw+bj9aoGf9krc6Z472riE1odoqoKSIOg3Rga5AX1AgMBAAGjgcIwgb8wCQYDVR0TBAIwADBEBgNVHSAEPTA7MDkGC2CGSAGG+EUBBxcCMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9ycGEwCwYDVR0PBAQDAgWgMBEGCWCGSAGG+EIBAQQEAwIHgDBMBgNVHR8ERTBDMEGgP6A9hjtodHRwOi8vb25zaXRlY3JsLnZlcmlzaWduLmNvbS9PblNpdGVQdWJsaWMvTGF0ZXN0Q1JMLUcyLmNybDANBgkqhkiG9w0BAQUFAAOCAQEAX4cTwrwSxIdGEwXAdgebkz56ZmsRg6zQgiCq2SLi8JEHKgPJIE6jXgDi+miwp2scU7XmH8AxYVHzBX0GQ70HUn0iWgPFl5jT0q8zVT4IWZaiXtswvltkAqMmT2xofgmDBpde2P+GB7Nf38RIuoMt8z1VFO2x47RjzPKaEt+MQqC4nq/2Ra5DUWaUb62qjs+fBOa4tfBirLoYOQYtb5n8UKQMEmi14cqCU3alU2iHXbvDP1UoMTUN4AiFt/aWqzJtHybUn+PygBqgUdj47ObIaTHd/r/XryD4VDGbP8rUVijS54pqxfzMmtt5AlJR2DdnGclXTezpYuVo2Udhu37C9A==








CN=VeriSign Class 2 MPKI Individual Subscriber CA - G2, OU=Terms of use at https://www.verisign.com/rpa (c)08, OU=VeriSign Trust Network, O="VeriSign, Inc.", C=US
42434585466876238486390762643181460020





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







Wcf client app.config is:











































3.
Using same Axis2 client and same certificates, we are able to talk to Sample Axis2 Web service [which uses same certificates] successfully, That means certificates are right and soap evelope produced by Axis 2 client is understood by Axis Service and same soap envelope is not understood by WCF service.

So there seems some interoperability issue ??
There also seems some difference between X509IssuerName element in soap envelope genreated by Axis 2 Java client and WCF .net clien

Thursday, May 7, 2009

Nhibernate querying oracle sequence

Use follwoing to get nextval of oracle sequence from hibernate

using (ISession session = //Get Nhibernate session)
{
var sqlQuery = session.CreateSQLQuery(query).AddScalar("NEXTVAL", NHibernateUtil.UInt64);


object result = sqlQuery.UniqueResult();

return Convert.ChangeType(result,typeof(long));

}