인증서 작성 도구(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

참고 항목

참조

.NET Framework 도구

소프트웨어 게시자 인증서 테스트 도구(Cert2spc.exe)

SDK 명령 프롬프트