2010-12-13 3 views
1

나는 .NET 코드 내부에서 다음과 같은 작업을 수행 할 :프로그램 내부에서 HTTPS 서버 인증서 관리?

  1. 가, 가게에 자체 서명 된 인증서를 만들기의 지문을 얻을;
  2. 기존 인증서 파일을 저장소로 가져옵니다. 마찬가지로, 지문을 얻습니다.
  3. "netsh http add sslcert"에 따라이 인증서를 사용하도록 HTTPS 포트를 구성하십시오. 내 프로그램에서이 콘솔 명령을 간단하게 실행할 수는 있지만 더 좋은 방법이 있다면 좋을 것입니다.

그런데 항목 # 3이 항목 # 1과 항목 # 2에서 지문을 필요로하는 이유입니다. 이것이 가능한가?

답변

2

System.Security.Cryptography.X509Certificates 네임 스페이스를 살펴보십시오.

특히, X509Store 클래스는 참조 할 항목 중 하나 이상을 수행합니다. 기존 인증서를 저장소로 가져 오기. 예 : 당신이 경우 ... makecert.cs: makecert clone tool : 또한

X509Store store = new X509Store(StoreName.Root, StoreLocation.LocalMachine); 
try 
{ 
store.Open(OpenFlags.ReadWrite); 
store.Add(
    new X509Certificate2(@"Certificates\MyCertificate.pfx", "password")); 
} 
finally 
{ 
store.Close(); 
} 

참조 :

다른 부분 중 하나에

이 인증서를 생성,이 발견 makecert.exe과 같은 콘솔 도구를 사용하지 않으려면 en d 비슷한 것을 구현합니다.