을 사용하여 프로그래밍 방식으로 인증서를 설치하는 방법 내 학교 웹 페이지에 selftrusted 인증서 (수동으로 설치해야 함)가 있으며 로컬 컴퓨터에 certificate.cer (Visual Studio 리소스에서)을 설치하는 프로그램을 만들고 싶습니다. "신뢰할 수있는 루트 인증서 권한 "을 클릭하면됩니다. Visual C#에서 코드를 작성하는 방법을 알고 있습니까?C#
C#
답변
현재 사용자의 신뢰할 수있는 루트 저장소에 프로그래밍 방식으로 인증서를 추가하려면 X509Store 및 X509Certificate2 클래스를 사용하십시오. 예 :
string file; // Contains name of certificate file
X509Store store = new X509Store(StoreName.Root, StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadWrite);
store.Add(new X509Certificate2(X509Certificate2.CreateFromCertFile(file)));
store.Close();
"How can I install a certificate into the local machine store programmatically using c#?"도 참조하십시오.
또 다른 옵션은 특히, Certificate Manager command line (certmgr.exe) 도구입니다 : "cert.cer는"인증서가
certmgr /add cert.cer /s Root
입니다. 이렇게하면 현재 사용자의 신뢰할 수있는 루트 저장소로 가져옵니다. 그러나 certmgr.exe는 Visual Studio 및 Windows SDK의 일부이며 자유롭게 배포 할 수 없습니다.
이 코드를 실행하는 계정에 대한 관리 액세스 권한이 필요합니까? –
@Johnny_D "루트"와 같은 시스템 전체의 인증서 저장소를 수정하려면 관리자 액세스 권한이 필요합니다. "My"와 같은 개인 인증서 저장소를 수정하려면 관리자 액세스가 필요하지 않습니다. – akton
Azure 가상 머신에서 수행해야하는 문제입니다. 어떻게 든 관리자 사용자를 만들고 인증서 인증서를 추가하는 컨텍스트를 가장해야합니까? –
예 수행 방법을 알고 있습니다. 그래서 당신이 그것을 알아내는 데 겪고있는 문제는 무엇입니까? (무엇을 시도 했습니까?) (http://mattgemmell.com/2008/12/08/what-have-you-tried/)? –
NativeWin32 및 DllImport ("user32.dll") (SendKeys)를 사용해 보았지만 정확한 유형을 알아낼 수 없습니다. – DroidBellmer