2013-08-29 8 views
1

웹 역할에 설치된 특정 인증서를 나열하고 검색해야하는 웹 응용 프로그램에 코드를 작성하고 있습니다. 다음은 인증서가 포털을 통해 웹 역할에 추가 설정 파일에도 존재하더라도, 지금 내 코드WebRole의 인증서 목록이 비어 있습니다.

// using System.Security.Cryptography.X509Certificates; 

var store = new X509Store() ; 
store.Open(OpenFlags.ReadOnly); 
LoggingService.Info(String.Format(
    "{0} Certificate(s) are found in store",store.Certificates.Count)); 
for(int index=0;index<store.Certificates.Count;index++) 
{ 
    LoggingService.Info(String.Format(
     "Subject:{0}, Thumbprint:{1}",store.Certificates[index].Subject, 
     store.Certificates[index].Thumbprint)); 
} 
_Certificate = store.Certificates.Find(
    X509FindType.FindByThumbprint, this.CertificateThumbprint, false)[0]; 

문제가있다. store.Certificates.Count는 0입니다. 이 코드는 에뮬레이터에서 완벽하게 실행되지만 어떻게 든 웹 역할 인증서를 나열 할 수 없습니다. 웹 역할에 설치된 인증서에 어떻게 액세스합니까?

+0

인증서 저장소가 맞습니까? 권한 문제와 같은 오류가 있습니까? – mcollier

+0

예 인증서 저장소가 정확합니다. 또한 내 웹 역할에 로그인했으며 개인 저장소에 인증서가없는 것이 이상합니다. 그러나 웹에서 IIS의 인증서를 볼 수 있습니다. – ZafarYousafi

답변

0

상점 이름과 위치를 상점 클래스에 제공하지 않았으며 모든 상점과 위치에서 검색 할 것이라고 가정했지만 이렇게되지 않았습니다. 그런 다음 저장소 이름과 위치를 제공 했으므로 이제 시스템에서 인증서를 찾을 수 있습니다.