Gibt es eine Möglichkeit zum Abrufen von Informationen darüber, welches Clientzertifikat in meiner Webdienstmethode bei Verwendung von <security mode="Transport>
verwendet wurde? Ich habe durch OperationContext.Current gesichtet, konnte aber nichts Offensichtliches finden.Zertifikatsinformationen vom WCF-Dienst mithilfe des Transportsicherheitsmodus
Meine Serverkonfiguration ist wie folgt:
<basicHttpBinding>
<binding name="SecuredBasicBindingCert">
<security mode="Transport">
<message clientCredentialType="Certificate" />
</security>
</binding>
</basicHttpBinding>
Ich arbeite mit einem Dritten Pub/Sub-System, die leider Data verwendet für die Authentifizierung. Wenn ich WCF mit dieser Konfiguration verwende, kann ich keine Informationen über den Anrufer erhalten (da keine Zugangsdaten tatsächlich gesendet werden).
Irgendwie muss ich herausfinden können, wessen Anrufe zu meinem Dienst gemacht werden, ohne meine Konfiguration zu ändern oder sie zu bitten, ihre Nutzlast zu ändern.
Ich überlege, die Adresse des Endpunkts zu nutzen, indem ich einfach einen eindeutigen Querystring hinzufüge. Der QueryString kann über '(System.ServiceModel.Channels.HttpRequestMessageProperty) gelesen werden. System.ServiceModel.OperationContext.Current.IncomingMessageProperties [System.ServiceModel.Channels.HttpRequestMessageProperty.Name]). QueryString' – Langdon