Fammi usare un'analogia: supponiamo che tu stia vendendo lavelli da cucina. L'installazione e la manutenzione di un lavello richiedono occasionalmente l'intervento di un idraulico qualificato. La tua proposta (installare il tuo certificato negli archivi "trusted root" dei sistemi client) è come dire: "Come faccio a permettere ai miei clienti di inviarmi una copia delle chiavi della porta in modo da poter inviare gli idraulici in qualsiasi momento? ".
Alla maggior parte dei clienti non piacerebbe. L'archivio "trusted root" è sensibile . Spingere il tuo certificato in quel negozio richiede molta fiducia: ti dà molta energia e rende la sicurezza della macchina subordinata alla protezione della chiave privata dalla tua parte.
Il modo carino di fare WCF è di incorporare il certificato del server (o il certificato della sua CA di emissione) nel codice dell'applicazione, in modo che l'applicazione possa verificare che stia parlando al server giusto senza modificare la configurazione del sistema. Ciò comporta l'utilizzo di un validatore personalizzato, come descritto lì .
Il metodo suggerito da @Stephane (acquistare un certificato da una delle CA che è già considerato affidabile dalla maggior parte dei client) è sicuramente più semplice e probabilmente più veloce.