2009-07-24 6 views
0

난과 같이 초기화 된 X509Store에서 X509Certificate2 개체를로드하고있어 누락 :X509Certificate2 : 확장 C#에서

 X509Store store = new X509Store("My", StoreLocation.LocalMachine); 
     store.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly); 

나는 OpenSSL을 내 인증서를 만든 그것은 "모든 목적"으로 설정되어 있습니다. 그래서 나는 X509Certificate2.Extensions가 비어 있지 않고 "Server Auth"확장을 유지할 것으로 기대합니다. 그러나 확장은 항상 빈 목록입니다. 어떤 아이디어?

답변

2

저는 독자적인 소스에서 인증서를 두 번 확인하고 거기에있는 데이터가 실제로 있는지 확인합니다. http://www.bogpeople.com/networking/CertDecoder/

http://www.redkestrel.co.uk/cgi/decodeCert.pl

는이 같은 도구 : 난 보통 웹 기반 도구 중 하나를 사용합니다.

그런 식으로 테스트 데이터인지 또는 X509 라이브러리 사용인지 알 수 있습니다.

다음으로, 나는 당신이 "어떤 목적"으로 무엇을 의미하는지 모르겠습니다. 오픈 SSL 문서를 훑어 보았는데 설명하는 내용이 표시되지 않습니다. 키 용도 (Key Usage)와 확장 키 용도 (Extended Key Usage)를 정의하는 두 가지 인증서 확장이 있습니다. 그리고 Open SSL 명령과 설정 파일에 대한 설명은 "any"를 설정하고 이들 모두를 켤 수있는 장소를 보여주지 못했습니다. http://www.openssl.org/docs/apps/x509v3_config.html#Extended_Key_Usage_

당신이 사용되는 특정 openssl 명령어 및 인증서 생성을위한 설정 파일을 게시하고자하는 경우

, 아마 수 : 내가 생각하는 당신이 원하는 것은 확장 키 사용 확장에 "한 ServerAuth"값입니다 더 도움이 되십시오.

+0

정보 주셔서 감사합니다. 내 OpenSSL 물건에서 물건을 직접 설정해 보겠습니다. "모든 목적"으로 설정되었다고 말하면 Windows의 인증서 관리자 MMC 스냅인을 언급했습니다. 설치된 인증서의 인증서 속성을 보면 일반 탭에 "이 인증서의 모든 용도 사용"이 표시되어 있습니다. 그러나 나는 그 중 하나가 다른 것을 의미하거나 마이크로 소프트 랜덤 임의의 것임을 짐작한다. – evilfred