2010-04-02 4 views
0

Je voudrais mettre en place un serveur - logiciel client avec les exigences de sécurité suivantes:Silverlight WCF avec deux voies certificats de sécurité SSL

  • WCF-services doivent être sécurisés avec SSL et des certificats pour les deux, la serveur et le client

  • certificats clients doivent être générés par programme lors de l'enregistrement de l'utilisateur

  • certificats de client sont déployés via un installateur-paquet généré automatiquement

  • Altough les certificats client sont auto-signés (pas CA autorisé pour le serveur de génération) l'utilisateur final ne doit pas ajouter le certificat_serveur aux certificats de confiance dans le certificat local magasin

Mes problèmes: Je ne trouve aucune information concernant l'établissement d'une telle sécurité SSL bidirectionnelle pour wcf, alors que le certificat serveur n'est pas signé par une autorité de certification autorisée et est créé par programmation avec "makecert" ...

Ma question: Est-il techniquement possible d'implémenter nt cette exigence? Si oui, pourriez-vous nous donner quelques conseils pour commencer?

Merci!

Répondre

0

On dirait que vous essayez de faire beaucoup de choses compliquées ici, avec les certificats en particulier. Avez-vous envisagé d'utiliser le système Nom d'utilisateur/Mot de passe à la place des informations d'identification du client? Avec le serveur cert, si ce n'est pas un certificat SSL valide, vous pouvez contourner la validation du certificat par le client en utilisant config comme:

<behavior name="DisableServiceCertificateValidation"> 
     <clientCredentials> 
     <serviceCertificate> 
      <authentication certificateValidationMode="None" 
          revocationMode="NoCheck" /> 
     </serviceCertificate> 
     </clientCredentials> 
    </behavior> 

Comparez vos besoins (peut-être préférable de commencer simple) aux scénarios d'application/Comment Sections Tos de ce CodePlex link. Vous serez alors en mesure de travailler à travers les guides de configuration et d'installation pour vous mettre en route, vous donnant quelque chose sur lequel vous pouvez construire.