2010-06-17 4 views
2

Je travaille sur une application qui accède à un certificat x.509 à partir du magasin de l'utilisateur actuel. Cela fonctionne correctement lorsque l'application est exécutée en tant qu'exécutable. Toutefois, lorsque j'essaie d'exécuter l'application en tant que service Windows, elle ne parvient pas à trouver le certificat. J'ai essayé de modifier la propriété LogOn pour la console windowsservice pour définir le bon utilisateur, mais cela n'a pas aidé.Accès au magasin de certificats personnels de l'utilisateur actuel dans le service Windows

Est-il possible d'accéder au magasin de certificats (administrateur) de l'utilisateur en question? Je suis tenu d'utiliser le certificat dans le magasin de l'utilisateur - sinon je peux facilement utiliser le magasin de la machine locale.

Toute aide sera appréciée.

J'utilise ce morceau particulier de code pour récupérer le certificat:

     serviceHost.Credentials.ServiceCertificate.SetCertificate(StoreLocation.CurrentUser, StoreName.My, X509FindType.FindBySubjectName, "My-CertificateName"); 

Cela fonctionne bien lors de l'exécution comme un exécutable - mais ne parvient à trouver un certificat lors de l'exécution en tant que service Windows

Répondre

1

Quand je J'ai eu des problèmes comme ça dans le passé, ça concernait les permissions des utilisateurs, mais si vous avez configuré votre service en tant qu'administrateur et que vous exécutez l'application en tant qu'exe en tant qu'administrateur, je suis un peu sceptique.

Cela dit, essayez ces deux liens pour commencer - ils sont écrits du point de vue de la WCF, mais appliquer facilement à tout type de service:

Working with Certificates

How to: Make X.509 Certificates Accessible to WCF

Si aucune de ces aide, s'il vous plaît modifier votre question pour inclure le code que vous utilisez pour accéder au certificat x.509.

+0

Je suis allé à travers les deux articles - mais je ne pouvais pas vraiment trouver où les choses vont mal de mon côté - le réglage du certificat est simple, et j'ai édité ma question pour transmettre cela Merci – Xeel

Questions connexes