2010-06-17 3 views
2

현재 사용자 저장소에서 x.509 인증서에 액세스하는 응용 프로그램을 작성 중입니다. 이것은 응용 프로그램이 실행 파일로 실행될 때 제대로 작동합니다.Windows 서비스에서 현재 사용자 개인 인증서 저장소에 액세스

그러나 Windows 서비스로 응용 프로그램을 실행하려고하면 인증서를 찾지 못합니다. 나는 윈도우 서비스 콘솔의 LogOn 속성을 변경하여 올바른 사용자를 설정하려고 시도했지만 도움이되지 않았습니다.

특정 사용자의 (관리자) 인증서 저장소에 액세스 할 수있는 방법이 있습니까? 사용자 저장소에서 인증서를 사용해야합니다. 그렇지 않으면 로컬 컴퓨터 저장소를 쉽게 사용할 수 있습니다.

도움이 될 것입니다. 내가 인증서를 검색 할 코드의 특정 부분을 사용하고

: 실행 파일로 실행할 때 잘 작동

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

을 - Windows 서비스로 실행 때 인증서를 찾는데 실패

답변

1

언제 과거에는 관리자 권한으로 실행되도록 서비스를 설정하고 관리자 권한으로 exe로 앱을 실행하는 경우 사용자 권한과 관련하여 문제가 발생했습니다. 그렇다면 다소 회의적입니다.

말했다 즉, 시작이 두 링크를 시도 - 그들이보기의 WCF 지점에서 작성,하지만 쉽게 서비스의 모든 유형에 적용

Working with Certificates

How to: Make X.509 Certificates Accessible to WCF

하면 어느 쪽도 없습니다 도움이 필요하시면 질문을 편집하여 x.509 인증서에 액세스하는 데 사용하는 코드를 포함하십시오.

+0

두 개의 기사를 읽었지만 실제로 최종 설정 인증서가 잘못되어있는 곳을 찾을 수 없었습니다. 간단히 말해서 인증서를 전달하기 위해 내 질문을 편집했습니다. 감사합니다. – Xeel

관련 문제