인증서 작성 도구(Makecert.exe)
인증서 작성 도구를 사용하면 테스트 전용 X.509 인증서를 생성하고, 디지털 서명에 대한 공용 및 개인 키 쌍을 만들어 인증서 파일에 저장할 수 있습니다. 또한, 키 쌍을 지정된 게시자의 이름과 연결하고, 사용자 지정 이름을 해당 키 쌍의 공용 부분에 바인딩하는 X.509 인증서를 만들 수 있습니다.
Makecert.exe에는 기본 옵션과 확장 옵션이 있습니다. 기본 옵션은 인증서를 만드는 데 가장 일반적으로 사용되는 옵션이며, 확장 옵션을 사용하면 보다 많은 융통성이 제공됩니다.
이 도구를 사용하여 생성한 인증서 개인 키를 .snk 파일에 저장해서는 안 됩니다. 개인 키를 저장해야 하는 경우에는 키 컨테이너를 사용해야 합니다. 키 컨테이너에 개인 키를 저장하는 방법에 대한 자세한 내용은 방법: 키 컨테이너에 비대칭 키 저장을 참조하십시오.
주의 |
|---|
| 인증서 저장소를 사용하여 인증서를 안전하게 저장해야 합니다. 이 도구에서 사용하는 .snk 파일은 보호되지 않는 방법으로 개인 키를 저장합니다. 새로 만들거나 가져온 .snk 파일을 사용하거나 제거할 때는 보안에 주의해야 합니다. |
makecert [options] outputCertificateFile
| 인수 | 설명 |
|---|---|
| outputCertificateFile | 테스트용 X.509 인증서가 작성되는 .cer 파일의 이름을 나타냅니다. |
| 옵션 | 설명 |
|---|---|
| -n x509name | 주체의 인증서 이름을 지정합니다. 이 이름은 X.500 표준에 맞아야 합니다. 가장 간단한 방법은 이름 앞에 CN=을 붙여 큰따옴표로 묶는 것입니다(예: "CN=myName"). |
| -pe | 생성된 개인 키를 내보낼 수 있도록 표시합니다. 이렇게 하면 개인 키를 인증서에 포함할 수 있습니다. |
| -sk keyname | 주체의 개인 키가 들어 있는 키 컨테이너 위치를 지정합니다. 키 컨테이너가 없으면 키 컨테이너가 새로 만들어집니다. |
| -sr location | 주체의 인증서 저장소 위치를 지정합니다. Location으로 currentuser(기본값)와 localmachine 중 하나를 사용할 수 있습니다. |
| -ss store | 주체의 출력 인증서를 저장하는 인증서 저장소 이름을 지정합니다. |
| -# number | 1부터 2,147,483,647까지의 일련 번호를 지정합니다. 기본값은 Makecert.exe에서 생성한 고유 값입니다. |
| -$ authority | 인증서의 서명 기관을 지정합니다. commercial(상업적 소프트웨어 게시자가 사용하는 인증서의 경우)과 individual(개인 소프트웨어 게시자가 사용하는 인증서의 경우) 중 하나로 설정해야 합니다. |
| -? | 이 도구의 명령 구문 및 기본 옵션 목록을 표시합니다. |
| -! | 이 도구의 명령 구문 및 확장 옵션 목록을 표시합니다. |
| 옵션 | 설명 |
|---|---|
| -a algorithm | 서명 알고리즘을 지정합니다. md5(기본값) 또는 sha1 중 하나로 설정해야 합니다. |
| -b mm/dd/yyyy | 유효 기간의 시작 날짜를 지정합니다. 기본값은 해당 인증서의 작성 날짜로 설정됩니다. |
| -cy certType | 인증서 종류를 지정합니다. 유효한 값은 end(최종 엔터티의 경우), authority(인증 기관의 경우)입니다. |
| -d name | 주체의 이름을 표시합니다. |
| -e mm/dd/yyyy | 유효 기간의 끝 날짜를 지정합니다. 기본값은 12/31/2039 11:59:59 GMT로 설정됩니다. |
| -eku oid[,oid] | 향상된 키 용도 OID(개체 식별자) 목록을 쉼표로 구분하여 인증서에 삽입합니다. |
| -h number | 해당 인증서 아래 트리의 최대 높이를 지정합니다. |
| -ic file | 발급자의 인증서 파일을 지정합니다. |
| -ik keyName | 발급자의 키 컨테이너 이름을 지정합니다. |
| -iky keytype | 발급자의 키 형식을 지정합니다. 공급자 형식을 나타내는 signature, exchange, 정수 중 하나여야 합니다. 기본적으로 교환 키에 1을, 서명 키에 2를 전달할 수 있습니다. |
| -in name | 발급자의 인증서 일반 이름을 지정합니다. |
| -ip provider | 발급자의 CryptoAPI 공급자 이름을 지정합니다. |
| -ir location | 발급자의 인증서 저장소 위치를 지정합니다. Location으로 currentuser(기본값)와 localmachine 중 하나를 사용할 수 있습니다. |
| -is store | 발급자의 인증서 저장소 이름을 지정합니다. |
| -iv pvkFile | 발급자의 개인 키(.pvk) 파일을 지정합니다. |
| -iy pvkFile | 발급자의 CryptoAPI 공급자 종류를 지정합니다. |
| -l link | 정책 정보에 연결합니다(예: URL). |
| -m number | 인증서 유효 기간을 월 단위로 지정합니다. |
| -nscp | Netscape 클라이언트의 권한 부여 확장을 포함합니다. |
| -r | 자체 서명 인증서를 만듭니다. |
| -sc file | 주체의 인증서 파일을 지정합니다. |
| -sky keytype | 주체의 키 형식을 지정합니다. 공급자 형식을 나타내는 signature, exchange, 정수 중 하나여야 합니다. 기본적으로 교환 키에 1을, 서명 키에 2를 전달할 수 있습니다. |
| -sp provider | 주체의 CryptoAPI 공급자 이름을 지정합니다. |
| -sv pvkFile | 주체의 개인 키(.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
주의