728x90
반응형
728x170
▶ Program.cs
using System;
using System.IO;
using System.Security.Cryptography.X509Certificates;
namespace TestProject
{
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 프로그램 시작하기 - Main(argumentArray)
/// <summary>
/// 프로그램 시작하기
/// </summary>
/// <param name="argumentArray">인자 배열</param>
private static void Main(string[] argumentArray)
{
if(argumentArray == null || argumentArray.Length < 1)
{
Console.WriteLine("프로그램 인자로 인증서 파일(.cer) 경로를 지정해 주시기 바랍니다.");
return;
}
string filePath = argumentArray[0];
if(!File.Exists(filePath))
{
Console.WriteLine("지정한 파일 경로에 파일이 존재하지 않습니다.");
return;
}
try
{
InstallCertificate(StoreLocation.LocalMachine, StoreName.Root , filePath);
InstallCertificate(StoreLocation.LocalMachine, StoreName.TrustedPublisher, filePath);
Console.WriteLine("인증서가 설치되었습니다 : {0}", filePath);
}
catch(Exception exception)
{
Console.WriteLine("인증서 설치시 에러가 발생했습니다.");
Console.WriteLine(exception.ToString());
}
}
#endregion
#region 인증서 설치하기 - InstallCertificate(storeLocation, storeName, filePath)
/// <summary>
/// 인증서 설치하기
/// </summary>
/// <param name="storeLocation">저장 위치</param>
/// <param name="storeName">저장명</param>
/// <param name="filePath">파일 경로</param>
private static void InstallCertificate(StoreLocation storeLocation, StoreName storeName, string filePath)
{
X509Store store = new X509Store(storeName, storeLocation);
store.Open(OpenFlags.ReadWrite);
store.Add(new X509Certificate2(X509Certificate2.CreateFromCertFile(filePath)));
store.Close();
}
#endregion
}
}
※ 관리자 권한으로 실행해야 한다.
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON] StreamReader 클래스 : CurrentEncoding 속성을 사용해 텍스트 파일 인코딩 구하기 (0) | 2019.08.16 |
---|---|
[C#/COMMON] MailMessage 클래스 : 다음 메일 보내기 (0) | 2019.08.03 |
[C#/COMMON] CancellationToken 클래스 : 작업 취소시키기 (0) | 2019.08.03 |
[C#/COMMON] WM_DEVICECHANGE 메시지를 사용해 USB 연결/해제 알림 구하기 (0) | 2019.08.03 |
[C#/COMMON] WindowsIdentity 클래스 : 윈도우즈 로그인 계정 구하기 (0) | 2019.08.02 |
[C#/COMMON] IMessageFilter 인터페이스 : WM_INPUT 메시지 처리하기 (0) | 2019.08.02 |
[C#/COMMON] 지정한 타입의 항목을 갖는 제네릭 리스트 구하기 (0) | 2019.08.01 |
[C#/COMMON] SetConsoleCtrlHandler API 함수를 사용해 콘솔 프로그램 CTRL+C 키 입력시 처리하기 (0) | 2019.08.01 |
[C#/COMMON] 커스텀 태스크 사용하기 (0) | 2019.08.01 |
[C#/COMMON] 커스텀 태스크 사용하기 (0) | 2019.08.01 |
댓글을 달아 주세요