Hi Marc,
       Looking at the error message, "No certificates for user
**service**were found for encryption", it seems that your sample still
uses "service"
as the encryption user. Did you change the following property in the
policy.xml ?

<ramp:encryptionUser>service</ramp:encryptionUser> to
<ramp:encryptionUser>escrsaservice</ramp:encryptionUser>

Best Regards,
Nandana

On Wed, Apr 28, 2010 at 10:59 PM, Marc Novakouski <[email protected]>wrote:

> Hello,
> I am attempting to run the samples which come with rampart to do some
> performance benchmarking on the different WS-* standards that are supported.
>  We expect to publish these findings in an academic paper.  Unfortunately,
> I'm having difficulty making the tests work.
>
> The problem I'm having right now is that in an earlier set of tests, a
> colleague set up a set of RSA keys for use instead of the default keys that
> come with the rampart samples.  The keys he created were used to benchmark
> the basic samples (no security, username/password, encryption, signing,
> encrypt+sign) and worked fine.  My task right now is to use the keys he used
> to run the WS-SecureConversation sample (sample04) in the policy sample set.
>  I am able to execute sample04 and get results with the default keystore,
> but not with the RSA keys that were previously used by my colleague.  When I
> attempt to execute my tests using the custom RSA keys, I get the following
> error:
>
> client.04:
>     [copy] Copying 1 file to
> /home/novakom/rampart-1.5/samples/policy/build/client_repositories/sample04/modules
>     [copy] Copying 1 file to
> /home/novakom/rampart-1.5/samples/policy/build/client_repositories/sample04/modules
>     [copy] Copying 1 file to
> /home/novakom/rampart-1.5/samples/policy/build/temp_client
>     [copy] Copying 1 file to
> /home/novakom/rampart-1.5/samples/policy/build/temp_client
>     [java] Exception in thread "main" org.apache.axis2.AxisFault: Error in
> obtaining a token
>     [java]     at
> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:70)
>     [java]     at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
>     [java]     at
> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
>     [java]     at
> org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:416)
>     [java]     at
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
>     [java]     at
> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
>     [java]     at
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
>     [java]     at
> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:540)
>     [java]     at
> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:521)
>     [java]     at
> org.apache.rampart.samples.policy.sample04.Client.main(Unknown Source)
>     [java] Caused by: org.apache.rampart.RampartException: Error in
> obtaining a token
>     [java]     at
> org.apache.rampart.util.RampartUtil.getToken(RampartUtil.java:787)
>     [java]     at
> org.apache.rampart.util.RampartUtil.getSecConvToken(RampartUtil.java:645)
>     [java]     at
> org.apache.rampart.builder.SymmetricBindingBuilder.initializeTokens(SymmetricBindingBuilder.java:883)
>     [java]     at
> org.apache.rampart.builder.SymmetricBindingBuilder.build(SymmetricBindingBuilder.java:84)
>     [java]     at
> org.apache.rampart.MessageBuilder.build(MessageBuilder.java:144)
>     [java]     at
> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)
>     [java]     ... 9 more
>     [java] Caused by: org.apache.rahas.TrustException: Error in obtaining
> token from : "http://pcbls.sei.cmu.edu:18080/axis2/services/sample04";
>     [java]     at
> org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:153)
>     [java]     at
> org.apache.rampart.util.RampartUtil.getToken(RampartUtil.java:774)
>     [java]     ... 14 more
>     [java] Caused by: org.apache.axis2.AxisFault: Error in creating an
> encrypted key
>     [java]     at
> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:70)
>     [java]     at org.apache.axis2.engine.Phase.invoke(Phase.java:318)
>     [java]     at
> org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:251)
>     [java]     at
> org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:416)
>     [java]     at
> org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
>     [java]     at
> org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
>     [java]     at
> org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
>     [java]     at
> org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:540)
>     [java]     at
> org.apache.rahas.client.STSClient.requestSecurityToken(STSClient.java:147)
>     [java]     ... 15 more
>     [java] Caused by: org.apache.rampart.RampartException: Error in
> creating an encrypted key
>     [java]     at
> org.apache.rampart.builder.BindingBuilder.getEncryptedKeyBuilder(BindingBuilder.java:230)
>     [java]     at
> org.apache.rampart.builder.SymmetricBindingBuilder.setupEncryptedKey(SymmetricBindingBuilder.java:708)
>     [java]     at
> org.apache.rampart.builder.SymmetricBindingBuilder.doSignBeforeEncrypt(SymmetricBindingBuilder.java:425)
>     [java]     at
> org.apache.rampart.builder.SymmetricBindingBuilder.build(SymmetricBindingBuilder.java:91)
>     [java]     at
> org.apache.rampart.MessageBuilder.build(MessageBuilder.java:144)
>     [java]     at
> org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:64)
>     [java]     ... 23 more
>     [java] Caused by: org.apache.ws.security.WSSecurityException: General
> security error (No certificates for user service were found for encryption)
>     [java]     at
> org.apache.ws.security.message.WSSecEncryptedKey.prepare(WSSecEncryptedKey.java:163)
>     [java]     at
> org.apache.rampart.builder.BindingBuilder.getEncryptedKeyBuilder(BindingBuilder.java:226)
>     [java]     ... 28 more
>     [java] Java Result: 1
>
>
> To describe my environment, I am running tomcat 6.0.20 with Axis2 1.5.1 on
> top, with Rampart 1.5 on top of that.  However, instead of building the .aar
> file and deploying it to Axis2, I have been running the sample04 service
> manually on the server (by running ant service.04 from the command line)
> because although I can deploy the service, there is some weird error that
> makes the client fail when it tries to connect to the service.  In any case,
> running the service manually works fine as long as I use the default keys,
> so I don't think that's the problem.
>
> In trying to fix the problem, I did a google search on the root exception
> above and found something about cached data; so I stopped & restarted the
> tomcat server (which shouldn't be used anyways) as well as deleted all of
> the temp files; it did not help.
>
> I'm pretty sure this is some sort of configuration issue.  Here is the
> content of the client.properties file:
>
> org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
> org.apache.ws.security.crypto.merlin.keystore.type=jks
> org.apache.ws.security.crypto.merlin.keystore.alias=escrsaclient
> org.apache.ws.security.crypto.merlin.keystore.password=escrsaclientpass
> org.apache.ws.security.crypto.merlin.file=client.jks
>
> Here is the content of the service.properties file:
>
> org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
> org.apache.ws.security.crypto.merlin.keystore.type=jks
> org.apache.ws.security.crypto.merlin.keystore.alias=escrsaservice
> org.apache.ws.security.crypto.merlin.keystore.password=escrsaservicepass
> org.apache.ws.security.crypto.merlin.file=service.jks
>
> Now, here is what I did to migrate from the default keystore to the custom
> RSA keystore:
>
> 1. On both the server and client, I copied over the keystore that was used
> in the original tests.  This was created in the same directory as the /keys
> directory (in the /samples directory) and named /keys_rsa
>
> 2. On both the server & client, I modified the build.xml file to point to
> the new keystore, by changing the "keys.dir" property to point to
> "../keys_rsa"
>
> 3. On the server, I modified the sample04/service.xml to use the
> "escrsaservicepass" password specified in the custom service.properties file
> (I modified the sections under the RampartConfig tag, NOT the one under the
> cryptoProperties section)
>
> 4. On the client, I modified the sample04/policy.xml file to use the
> "escrsaclientpass" password specified in the custom client.properties file
> (again, the ones under the RampartConfig tag)
>
> 5. On both the server & client, I modified the PWCBHandler.java file to set
> the appropriate passwords for the client & server
>
>
> Above & beyond that, I'm really not sure what to look at.  Any help anyone
> can offer with respect to resolving the WSSecurityException listed above
> would be very much appreciated.
>
> Thanks,
> Marc Novakouski
>
>
>
> _______________________________________________________________________________
> Marc Novakouski
> Software Engineering Institute
> Member of the Technical Staff - SoS Engineering (SoSE) Team
> Research, Technology and Systems Solutions (RTSS) Program
> System of Systems Practice (SoSP) Initiative
> Phone: (412) 268-4274
>
>
>
>

Reply via email to