We're building a C++/WWSAPI client to connect with a third-party C#/.net server. We have a sample C#/.net client that works with the server. It has this in it's App.config (client.exe.config):
<behaviors>
<endpointBehaviors>
<behavior name="TheirBehavior">
<clientCredentials>
<serviceCertificate>
<defaultCertificate findValue="crypt.theirdomain.com" storeLocation="LocalMachine" storeName="Root" x509FindType="FindBySubjectName"/>
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
<client>
<endpoint address="https://zzz.theirdomain.com/TheirService.svc"
binding="customBinding" bindingConfiguration="TheirServiceBinding" behaviorConfiguration="TheirBehavior"
contract="ProdWS.ITheirService" name="TheirServiceBinding">
<identity>
<dns value="crypt.theirdomain.com"/>
</identity>
</endpoint>
</client>
We also have a certificate, which we're loading properly (otherwise we get There was an error when trying to find certificate '...'; Cannot find object or property.
before the call.)
How do we enable this in WWSAPI? Is there any reference that will show mappings between all .net configuration settings and the corresponding WWSAPI configuration?
The following configuration (set in WS_SECURITY_BINDING
) gives Invalid certificate credential specification in security binding.
:
WS_SSL_TRANSPORT_SECURITY_BINDING sslBind{};
sslBind.binding.bindingType = WS_SSL_TRANSPORT_SECURITY_BINDING_TYPE;
sslBind.localCertCredential = &certCred.credential;
Is this on the right track?