Wir erstellen einen C++/WWSAPI-Client für die Verbindung mit einem C#/.net-Server eines Drittanbieters. Wir haben einen BeispielC#/.net-Client, der mit dem Server arbeitet. Es hat dies in seiner App.config (Client.exe.config):WWSAPI entspricht C#/.net <Dienstzertifikat> in App.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>
Wir haben auch ein Zertifikat, das wir richtig sind geladen (sonst wir There was an error when trying to find certificate '...'; Cannot find object or property.
vor dem Anruf erhalten.)
Wie aktivieren wir das in WWSAPI? Gibt es einen Verweis, der Zuordnungen zwischen allen .net-Konfigurationseinstellungen und der entsprechenden WWSAPI-Konfiguration anzeigt?
Die folgende Konfiguration (Set in WS_SECURITY_BINDING
) gibt 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;
dies ist auf dem richtigen Weg?