인증서 작성 도구(Makecert.exe)
업데이트: 2007년 11월
인증서 작성 도구를 사용하면 테스트 전용 X.509 인증서를 생성하고, 디지털 서명에 대한 공용 및 개인 키 쌍을 만들어 인증서 파일에 저장할 수 있습니다. 또한, 키 쌍을 지정된 게시자의 이름과 연결하고, 사용자 지정 이름을 해당 키 쌍의 공용 부분에 바인딩하는 X.509 인증서를 만들 수 있습니다.
Makecert.exe에는 기본 옵션과 확장 옵션이 있습니다. 기본 옵션은 인증서를 만드는 데 가장 일반적으로 사용되는 옵션이며, 확장 옵션을 사용하면 보다 많은 융통성이 제공됩니다.
이 도구를 사용하여 생성한 인증서 개인 키를 .snk 파일에 저장해서는 안 됩니다. 개인 키를 저장해야 하는 경우에는 키 컨테이너를 사용해야 합니다. 키 컨테이너에 개인 키를 저장하는 방법에 대한 자세한 내용은 방법: 키 컨테이너에 비대칭 키 저장을 참조하십시오.
경고
인증서 저장소를 사용하여 인증서를 안전하게 저장해야 합니다. 이 도구에서 사용하는 .snk 파일은 보호되지 않는 방법으로 개인 키를 저장합니다. 새로 만들거나 가져온 .snk 파일을 사용하거나 제거할 때는 보안에 주의해야 합니다.
makecert [options] outputCertificateFile
인수 |
설명 |
---|---|
outputCertificateFile |
테스트용 X.509 인증서가 작성되는 .cer 파일의 이름을 나타냅니다. |
기본 옵션
옵션 |
설명 |
---|---|
-nx509name |
주체의 인증서 이름을 지정합니다. 이 이름은 X.500 표준에 맞아야 합니다. 가장 간단한 방법은 이름 앞에 CN=을 붙여 큰따옴표로 묶는 것입니다(예: "CN=myName"). |
-pe |
생성된 개인 키를 내보낼 수 있도록 표시합니다. 이렇게 하면 개인 키를 인증서에 포함할 수 있습니다. |
-skkeyname |
주체의 개인 키가 들어 있는 키 컨테이너 위치를 지정합니다. 키 컨테이너가 없으면 키 컨테이너가 새로 만들어집니다. |
-sr location |
주체의 인증서 저장소 위치를 지정합니다. Location으로 currentuser(기본값)와 localmachine 중 하나를 사용할 수 있습니다. |
-ssstore |
주체의 출력 인증서를 저장하는 인증서 저장소 이름을 지정합니다. |
-# number |
1부터 2,147,483,647까지의 일련 번호를 지정합니다. 기본값은 Makecert.exe에서 생성한 고유 값입니다. |
-$ authority |
인증서의 서명 기관을 지정합니다. commercial(상업적 소프트웨어 게시자가 사용하는 인증서의 경우)과 individual(개인 소프트웨어 게시자가 사용하는 인증서의 경우) 중 하나로 설정해야 합니다. |
-? |
이 도구의 명령 구문 및 기본 옵션 목록을 표시합니다. |
-! |
이 도구의 명령 구문 및 확장 옵션 목록을 표시합니다. |
확장 옵션
옵션 |
설명 |
---|---|
-a algorithm |
서명 알고리즘을 지정합니다. md5(기본값) 또는 sha1 중 하나로 설정해야 합니다. |
-bmm/dd/yyyy |
유효 기간의 시작 날짜를 지정합니다. 기본값은 해당 인증서의 작성 날짜로 설정됩니다. |
-cycertType |
인증서 종류를 지정합니다. 유효한 값은 end(최종 엔터티의 경우), authority(인증 기관의 경우)입니다. |
-dname |
주체의 이름을 표시합니다. |
-emm/dd/yyyy |
유효 기간의 끝 날짜를 지정합니다. 기본값은 12/31/2039 11:59:59 GMT로 설정됩니다. |
-ekuoid[,oid] |
향상된 키 용도 OID(개체 식별자) 목록을 쉼표로 구분하여 인증서에 삽입합니다. |
-h number |
해당 인증서 아래 트리의 최대 높이를 지정합니다. |
-ic file |
발급자의 인증서 파일을 지정합니다. |
-ikkeyName |
발급자의 키 컨테이너 이름을 지정합니다. |
-ikykeytype |
발급자의 키 형식을 지정합니다. 공급자 형식을 나타내는 signature, exchange, 정수 중 하나여야 합니다. 기본적으로 교환 키에 1을, 서명 키에 2를 전달할 수 있습니다. |
-in name |
발급자의 인증서 일반 이름을 지정합니다. |
-ipprovider |
발급자의 CryptoAPI 공급자 이름을 지정합니다. |
-ir location |
발급자의 인증서 저장소 위치를 지정합니다. Location으로 currentuser(기본값)와 localmachine 중 하나를 사용할 수 있습니다. |
-isstore |
발급자의 인증서 저장소 이름을 지정합니다. |
-ivpvkFile |
발급자의 개인 키(.pvk) 파일을 지정합니다. |
-iypvkFile |
발급자의 CryptoAPI 공급자 종류를 지정합니다. |
-llink |
정책 정보에 연결합니다(예: URL). |
-m number |
인증서 유효 기간을 월 단위로 지정합니다. |
-nscp |
Netscape 클라이언트의 권한 부여 확장을 포함합니다. |
-r |
자체 서명 인증서를 만듭니다. |
-sc file |
주체의 인증서 파일을 지정합니다. |
-skykeytype |
주체의 키 형식을 지정합니다. 공급자 형식을 나타내는 signature, exchange, 정수 중 하나여야 합니다. 기본적으로 교환 키에 1을, 서명 키에 2를 전달할 수 있습니다. |
-spprovider |
주체의 CryptoAPI 공급자 이름을 지정합니다. |
-svpvkFile |
주체의 개인 키(.pvk) 파일을 지정합니다. 개인 키 파일이 하나도 없으면 새로 만들어집니다. |
-sy type |
주체의 CryptoAPI 공급자 종류를 지정합니다. |
예제
다음 명령은 기본 테스트 루트에서 발급하는 테스트 인증서를 만들어 testCert.cer에 씁니다.
makecert testCert.cer
다음 명령은 기본 테스트 루트에서 발급하는 인증서를 만들어 인증서 저장소에 저장합니다.
makecert -ss testCertStore
다음 명령은 기본 테스트 루트에서 발급하는 인증서를 만들어 인증서 저장소에 저장합니다. 인증서가 currentuser 저장소에 명시적으로 저장됩니다.
makecert -ss testCertStore -sr currentuser
다음 명령을 사용하여 주체의 키 컨테이너 및 인증서 주체의 X.500 이름을 사용하여 테스트용 인증서를 만들고 이를 textXYZ.cer에 씁니다.
makecert -sk XYZ -n "CN=XYZ Company" testXYZ.cer
다음 명령은 기본 테스트 루트에서 발급하는 인증서를 만들고 .pvk 파일을 만든 다음 인증서를 저장소와 파일로 출력합니다.
makecert -sv testCert.pvk -ss testCertStore testCert.cer
다음 명령은 기본 테스트 루트에서 발급하는 인증서를 만들고 키 컨테이너를 만든 다음 인증서를 저장소와 파일로 출력합니다.
makecert -sk myTestKey -ss testCertStore testCert.cer
다음 명령은 자체 서명 인증서를 만들고, 주체 이름으로 "CN=XYZ Company"를 지정하고, 유효 기간의 시작 및 끝을 지정하고, my 저장소에 키를 배치하고, 키를 지정 및 교환하고, 내보낼 수 있는 개인 키를 만듭니다.
makecert -r -pe -n "CN=XYZ Company" -b 01/01/2005 -e 01/01/2010 -sky exchange -ss my
다음 명령은 인증서를 만들어 저장소에 저장합니다. 다음 명령은 기본 테스트 루트를 사용하여 인증서를 만들어 저장소에 저장합니다. 두 번째 명령은 새로 만든 인증서를 사용하여 다른 인증서를 만들고 두 번째 인증서를 다른 저장소에 저장합니다.
makecert -sk myTestKey -ss testCertStore
makecert -is testCertStore -ss anotherTestStore
다음 명령은 인증서를 만들어 저장소에 저장합니다. 첫 번째 명령은 my 저장소에 인증서를 저장하고, 두 번째 명령은 새로 만든 인증서를 사용하여 다른 인증서를 만듭니다. my 저장소에 인증서가 두 개 이상 있기 때문에 두 번째 명령은 일반 이름을 사용하여 첫 번째 인증서를 식별합니다.
makecert -sk myTestKey -n "CN=XXZZYY" -ss my
makecert -is my -in "XXZZYY" -ss anotherTestStore
다음 명령은 인증서를 만들어 파일과 저장소에 저장합니다. 다음 명령은 기본 테스트 루트를 사용하여 인증서를 만들어 my 저장소와 파일에 저장합니다. 두 번째 명령은 새로 만든 testCert.cer 인증서를 사용하여 다른 인증서를 만듭니다. my 저장소에 인증서가 두 개 이상 있기 때문에 두 번째 명령은 인증서 파일 이름을 사용하여 첫 번째 인증서를 고유하게 식별합니다.
makecert -sk myTestKey -n "CN=XXZZYY" -ss my testCert.cer
makecert -is my -ic testCert.cer -ss anotherTestStore