sto Connessione a un servizio duplex WCF con una cert x509, specificando i dettagli del certificato nel file di configurazione del client come questo:dinamicamente set x509 da utilizzare per WCF comunicazioni duplex
<behaviors>
<endpointBehaviors>
<behavior name="ScannerManagerBehavior">
<clientCredentials>
<clientCertificate findValue="ClientName" x509FindType="FindBySubjectName" storeLocation="CurrentUser" storeName="My" />
<serviceCertificate>
<authentication certificateValidationMode="PeerTrust" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
Il codice che poi si collega a servizio WCF:
DuplexChannelFactory<IScannerManager> _smFactory
= new DuplexChannelFactory<IScannerManager>(instanceContext, nameOfEndPoint);
var _commsChannel = _smFactory.CreateChannel();
Ora è necessario specificare il nome del certificato client che verrà utilizzato in modo programmatico, nel codice. È possibile per me farlo? Vedo che posso creare la mia propria classe X509Certificate2, ma non sono sicuro come cambiare/impostare il bit findValue="clientName"
...
Grazie
Come utilizzare la proprietà ClientCertificate, vedere http://msdn.microsoft.com/en-us/library/system.servicemodel.description.clientcredentials.clientcertificate.aspx. vedi anche questo link http://stackoverflow.com/questions/2406136/wcf-certificates-without-certificate-store che ha uno snippet che mostra come accedere a questa proprietà nel comportamento dell'endpoint del canale. – wal