certcreate 명령
용도
certcreate는 지정된 사용자에 대한 새로운 인증서를 요청합니다.
구문
certcreate [-S servicename] [-s startdate] [-e enddate] { -f file | [-b | -t]} [-p privatekeystore] -l label [-a subject_alt_name] subject_distinguished_name [user-name]
설명
certcreate 명령은 엔터티 종료 서비스 및 라이브러리를 호출하고 명령행에 포함된 식별 정보로 새로운 인증서를 작성하도록 요청합니다. 사용할 서비스는 -S 옵션으로 지정합니다. 사용 가능한 서비스는 /usr/lib/security/pki/ca.cfg에 정의됩니다. -S 옵션 없이 요청된 인증서는 로컬 서비스를 사용하여 작성됩니다. /usr/lib/security/pki/ca.cfg 파일에 항목이 없는 서비스 이름을 지정하면 오류가 발생합니다. ca.cfg 파일에 있는 서비스 항목은 요청을 보낼 CA를 지정합니다.
-s 옵션을 제공하지 않을 경우, 현재 일의 날짜가 사용됩니다. -e 옵션을 제공하지 않을 경우, policy.cfg
파일의 유효성 값이 사용됩니다. 이 값이 없을 경우, 시작 날짜로부터 1년을 유효 기간으로 사용합니다. startdate 및 enddate 는 둘 다 chuser 명령에서 사용하는 expires 속성과 동일한 형식을 갖습니다. 형식은 MMDDhhmmyy 양식의 10자
문자열입니다. 여기서, MM은 월, DD는
일, hh는 시간, mm은 분, yy는
1939 - 2038 사이의 연도에 대한 뒷자리 2자리를 참조합니다. 모든 문자는 숫자입니다.
-f 옵션이 제공될 경우, 새로운 인증서는 DER로 인코딩되고 이름 지정된 파일에 2진 형식으로 저장됩니다. 그렇지 않을 경우, DER로 인코딩되어 2진 형식 또는 16진 형식으로 stdout에 출력됩니다. -b 옵션이 제공될 경우 출력은 2진수로 stdout에 표시되지만, 그렇지 않을 경우 16진수로 표시됩니다. -b 또는 -t를 모두 지정되지 않을 경우, 2진 형식이 사용됩니다.
대응하는 개인용 키가 기본 명령 또는 라이브러리가 요구하는 대로, 개인용 키 저장소 또는 장치에 저장됩니다. -p 옵션이 제공되면, 개인용 키는 지정된 개인용 키 저장소에 저장됩니다. -p 옵션이 지정되지 않은 경우 기본값은 /var/pki/ security/keys/ <username>입니다.
-l 옵션을 지정해야 합니다. 레이블은 키 저장소에 있는 개인용 키에 대해 별명으로 사용되는 가변 길이의 텍스트 문자열입니다.
subject_alt_name의 값은 인터넷 이메일 주소(RFC2459은 이를 rfc822Name으로 정의)입니다. 이 값은 선택사항입니다. 제공되는 값이 없을 경우, 인증서는 rfc822Name 제목 대체 이름 확장자를 갖지 않습니다. Subject_distinguished_name은 PKI 인증서에 대해 유효한 값 세트로 제한됩니다. 이는 RFC2459에 의해 X.501 유형 이름으로 정의됩니다.
certcreate 명령은 인증서를 생성하고 사용자의 개인용 키 저장소에 저장하기 위해 하나 이상의 프롬프트를 발행하고 비밀번호를 요청합니다. 사용자가 기존의 키 저장소를 가지고 있을 경우, 사용자에게 비밀번호를 물어보는 프롬프트가 한 번 표시됩니다. 키 저장소가 없을 경우, 키 저장소가 작성되며 확인을 위해 사용자는 비밀번호를 재입력해야 합니다. 현재 프로세스에 대한 /dev/tty를 열 수 없는 경우, 명령에 실패합니다.
플래그
| 항목 | 설명 |
|---|---|
| -S 서비스 이름 | 사용할 서비스 모듈을 지정합니다. |
| -s 시작 날짜 | 인증서가 유효하게 되는 날짜를 지정합니다. |
| -e 종료 날짜 | 인증서가 유효하지 않게 되는 날짜를 지정합니다. |
| -f 파일 | 인증서가 저장되는 파일을 지정합니다. |
| -p 개인용 키 저장소 | 개인용 키 저장소의 위치를 지정합니다. |
| -l 레이블 | 키 저장소에 있는 개인용 키의 레이블을 지정합니다. |
| -a subject_alt_name | 인증서 소유자의 주제 대체 이름을 지정합니다. |
| -b | 인증서 데이터의 형식을 2진으로 지정합니다. |
| -t | 인증서 데이터의 형식을 16진으로 지정합니다. |
종료 상태
| 항목 | 설명 |
|---|---|
| 0 | 명령이 성공적으로 완료되었습니다. |
| >0 | 오류가 발생했습니다. |
보안
이 명령은 setuid 명령입니다.
Root 및 그룹 보안에 속하는 호출자는 모든 사용자에 대한 인증서를 작성할 수 있습니다. 특권이 없는 사용자는 다음 규칙으로 개인용 키 저장소 위치를
지정하면서 자신에 대한 인증서만을 작성할 수 있습니다.- 호출자는 기본 개인 키 저장소 /var/pki/security/keys/ <user-name> 을 지정할 수 있습니다.
- 호출자는 쓰기 액세스를 가지고 있는 개인용 키 저장소를 지정할 수 있습니다.
감사
이 명령은 다음 이벤트 정보를 기록합니다.
CERT_Create <사용자 이름>
예
$ certcreate -S local -s 0831112702 -e 1231235902 -f
cert.der -p file:/home/bob/bob.priv -l signcert
bob@ibm.com ou=finance,cn=Bob%20James bob
위의 예제에서,
인증서는 2002년 8월 31일 오전 11:27부터 2002년 12월 31일
오후 11:59까지 유효합니다. 인증서는 cert.der 파일에 배치되며,
개인용 키는 별명이 signcert인 bob.priv에 저장됩니다.$ certcreate -l signcert bob@ibm.com ou=finance,cn=Bob James > cert.der파일
/usr/lib/security/pki/ca.cfg
/usr/lib/security/pki/policy.cfg