This works for me, I just checked it again. Make sure you have installed the OPS cert (.pfx file) in the Trusted People, local computer cert directory using MMC (per the tutorial for reconfiguring stocktrader). The OPS service, when pulling the SOA map, uses the following client definition:
<
endpoint address=http://configserver binding="wsHttpBinding" bindingConfiguration="Client_WsHttpBinding_M_Security_OPS" contract="Trade.OrderProcessorContract.IOrderProcessor" behaviorConfiguration="OPS_ClientCertificateBehavior" name="Client_WsHttpBinding_M_Security_OPS">
<
identity>
<
certificate encodedValue="AwAAAAEAAAAUAAAA+g9Yu2BfpDNp4nno+QiIcv3gmUMgAAAAAQAAAPQBAAAwggHwMIIBWaADAgECAhDUQtaRqC0hpkD6saVDQMH8MA0GCSqGSIb3DQEBBAUAMBIxEDAOBgNVBAMTB09QUy5Db20wHhcNMDgwNTIxMDQ0NTAxWhcNMzkxMjMxMjM1OTU5WjASMRAwDgYDVQQDEwdPUFMuQ29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDHCT2agc1venAAV2iWxWs1ELKlr0wAf005uUYlFbpq/3ewLmi5t+NvN8iBRHJxWA5igj/obcBmKMQ0L/+1HwKI27B9zffyPiAYkJhAwoXzR/S/7Cw4KFtYD+NIyZbRd5naa2fbyRTNnAE35q4r6JS6tiZR9mU0IjMuszj0oqotEwIDAQABo0cwRTBDBgNVHQEEPDA6gBAYaG6w3pziP/tZKe+J5ExsoRQwEjEQMA4GA1UEAxMHT1BTLkNvbYIQ1ELWkagtIaZA+rGlQ0DB/DANBgkqhkiG9w0BAQQFAAOBgQBnzFXGKgK8by3yILHlfLsmBTIZWdODFWE/f64wZJxrS7XCqd+g962FeTKQ+QI/lkRhJLlKgEt0IqGfUeogJ1MGRHabR5ujnQKhdPWUDL7kwQt3OVHxIf0pXqeiTAI8BbdFRGTWG5oOLcU7WgUNWbrXjqsAHJmsb8+MN7fD4xRoeA==" />
</
identity>
</
endpoint>
which thenreferences the endpoint behavior that tells it where to find the cert to use. That behavior is:
<
behavior name="OPS_ClientCertificateBehavior">
<
clientCredentials>
<
clientCertificate
findValue="OPS.Com"
x509FindType="FindBySubjectName"
storeLocation="LocalMachine"
storeName="TrustedPeople" >
</
clientCertificate>
</
clientCredentials>
</
behavior>
The endpoint identity is important. Also, the custom cert validator, provided as an example, validates the incoming certificate based on its thumbprint. It only accepts either the OPSHost cert or the BSLClient cert.
-Greg
Greg Leake, Microsoft