이 파일 예에서는 IBM® Engineering Requirements
Management DOORS®(DOORS)에서 사용할 서버 키 저장소 및 서버 루트 인증서를 작성하는 방법과 서버 인증서의 유효성을 검증하도록 MCS(Microsoft Certificate Store)를 설정하는 방법을 보여줍니다. 예제 파일 뒤에는 명령 및 매개변수에 대한 설명이 있습니다.
예제 파일
REM Create a server keystore file
gsk8capicmd -keydb -create -db server.kdb -pw ser123 -stash
REM Create a server root certificate in server.kdb, and add it to the MCS
gsk8capicmd -cert -create -db server.kdb -pw ser123 -label "IBMEDCA1" -dn "CN=IBMEDCA1"
gsk8capicmd -cert -extract -db server.kdb -pw ser123 -label "IBMEDCA1" -target temp1.arm
gsk8capicmd -cert -add -db GSK_MS_CERTIFICATE_STORE -label "IBMEDCA1" -file temp1.arm
REM Create and sign a server certificate
gsk8capicmd -certreq -create -db server.kdb -label IBMSV1 -dn "CN=IBMEDSERV,dc=ukednode1" -file temp2.arm
gsk8capicmd -cert -sign -db server.kdb -pw ser123 -label IBMEDCA1 -file temp2.arm -target temp3.arm
gsk8capicmd -cert -receive -file temp3.arm -db server.kdb -pw ser123
REM Extract the root certificate from the MCS and add it to the server kdb file
gsk8capicmd -cert -extract -db GSK_MS_CERTIFICATE_STORE -label "CN=Coy Root" -target temp4.arm
gsk8capicmd -cert -add -db server.kdb -pw ser123 -label "CN=Coy Root" -file temp4.arm
서버 키 저장소 파일 작성
gsk8capicmd -keydb -create -db server.kdb -pw ser123 -stash
- gsk8capicmd -keydb -create
- gsk8capicmd 명령은 키 데이터베이스에 있는 키, 인증서 및 인증서 요청을 관리하기 위한 도구입니다. gsk8capicmd의 구문은
gsk8capicmd modifiers object action options입니다.
이 예제에서 -keydb는 object, -create는 취할 action, -db는 option입니다.
이 명령은 키 데이터베이스를 작성합니다.
- -db server.kdb -pw ser123
- 비밀번호(-pwd)가 있는, 이름이 server.kdb인 키 데이터베이스를 작성합니다. 이 예제에서 이 비밀번호는 ser123입니다.
- -stash
- 키 데이터베이스 작성 후 이 데이터베이스의 비밀번호를 스태쉬 파일에 저장합니다. 스태쉬 파일은 비밀번호 자동 제공 방법으로 사용됩니다. 키 데이터베이스에 액세스하면 시스템은 먼저 스태쉬 파일의 유무를 확인합니다.
스태쉬 파일이 있는 경우에는 이 파일의 컨텐츠가 복호화되어 비밀번호에 대한 입력으로 사용됩니다. 작성 조치 중에 -stash 태그가 지정되면 이름이 key_database_name.sth인 파일에 비밀번호가 저장됩니다.
키 저장소에 루트 인증서를 작성하고 이를 MCS에 추가
루트 인증서는 서버 인증서를 작성하는 데 사용됩니다. 루트 인증서가 MCS에 있으므로
DOORS
클라이언트는 MCS를 사용하여 서버 인증서를 유효성 검증할 수 있습니다.
gsk8capicmd -cert -create -db server.kdb -pw ser123 -label "IBMEDCA1" -dn "CN=IBMEDCA1"
- -cert -create
- 이 명령은 create certificate 명령입니다(-create 조치 및 -cert 오브젝트).
- -label "IBMEDCA1"
- 인증서에 레이블이 연결됩니다. 이 예제에서 이 이름은 "IBMEDCA1"입니다. 이 레이블은 사용자가 인증서를 고유하게 식별하는 데 사용됩니다.
- -dn "CN=IBMEDCA1"
- -dn 식별 이름은 인증서를 고유하게 식별합니다. 입력은 다음 형식의 따옴표로 묶인 문자열이어야 합니다(CN만 필수).
- CN=공통 이름
- O=조직
- OU=조직 단위
- L=위치
- ST=시/도
- C=국가
- DC=도메인 컴포넌트
- EMAIL=이메일 주소
이 예제에서 이 식별 이름은 "CN=IBMEDCA1"입니다.
gsk8capicmd -cert -extract -db server.kdb -pw ser123 -label "IBMEDCA1" -target temp1.arm
- -cert -extract -label "IBMEDCA1"
- 이 명령은 extract certificate 명령입니다(-extract 조치 및 -cert 오브젝트). 이 명령은 키 데이터베이스로부터 지정된 인증서 데이터(-label"IBMEDCA1")를 추출하여 파일에 저장합니다.
- -target temp1.arm
- 인증서를 추출하여 저장할 파일입니다.
gsk8capicmd -cert -add -db GSK_MS_CERTIFICATE_STORE -label "IBMEDCA1" -file temp1.arm
- -cert -add -db GSK_MS_CERTIFICATE_STORE
- 이 명령은 add certificate 명령입니다(-add 조치 및 -cert 오브젝트). 이 명령은 추출된 인증서(-label"IBMEDCA1" -file temp1.arm)를
MCS(-db GSK_MS_CERTIFICATE_STORE)에 추가합니다.
루트 인증서로 서명된 서버 인증서 작성
서버 인증서는 키 저장소에 저장되어 있습니다. 이 예제에서는
IBMEDSERV라는 컴퓨터에서 실행되는 서버의 식별 이름이 기록되어 있습니다.
gsk8capicmd -certreq -create -db server.kdb -label IBMSV1 -dn "CN=IBMEDSERV,dc=ukednode1" -file temp2.arm
- -certreq -create
- 이 명령은 create certificate request 명령입니다(-create 조치 및 -certreq 오브젝트).
- -label IBMSV1
- 인증서에 레이블이 연결됩니다. 이 예제에서 이 이름은 IBMSV1입니다. 이 레이블은 사용자가 인증서를 고유하게 식별하는 데 사용됩니다. IBMSV1은 서버가 시작될 때 이름이 지정되지 않은 경우 DOORS
서버가 사용하는 기본 인증서 이름입니다.
- -dn "CN=IBMEDSERV,dc=ukednode1"
- -dn 식별 이름은 인증서를 고유하게 식별합니다. 이 예제에서 이 식별 이름은 "CN=IBMEDSERV,dc=ukednode1"입니다.
참고: 식별 이름의 IBMEDSERV 부분은 서버의 이름이거나 -serverhostname에 사용된 값(서버가 시작될 때 이 옵션이 사용된 경우)입니다.
- -file temp2.arm
- 인증서 요청 작성 프로세스 중에 인증서 요청이 추출되어 저장되는 파일 이름입니다.
gsk8capicmd -cert -sign -db server.kdb -pw ser123 -label IBMEDCA1 -file temp2.arm -target temp3.arm
- -cert -sign
- 이 명령은 sign certificate 명령입니다(-sign 조치 및 -cert 오브젝트). 이 명령은 키 데이터베이스에 저장된 기존 인증서가 인증서 요청에 서명할 수 있도록 합니다.
이 명령은 지정된 파일 형식으로 되어 있는 인증서 요청 및 서명 프로세스 중에 사용될 개인 키를 포함하는 인증서의 세부사항을 수락합니다.
- -file temp2.arm
- 서명될 인증서 요청의 이름 및 위치입니다.
- -target temp3.arm
- 서명된 인증서를 포함할 파일의 이름입니다.
gsk8capicmd -cert -receive -file temp3.arm -db server.kdb -pw ser123
- -cert -receive
- 이 명령은 receive certificate 명령입니다(-receive 조치 및 -cert 오브젝트). 이 명령은 인증서 요청에 서명하기 위해 요청된 인증서를 저장합니다.
수신할 인증서의 파일 이름입니다.
- -file temp3.arm
- 수신할 인증서의 파일 이름입니다.
MCS에서 인증서의 루트 인증서를 복사하여 서버 키 저장소에 추가
이 예제 부분은 서버가 인증서를 유효성 검증할 수 있도록 합니다.
gsk8capicmd -cert -extract -db GSK_MS_CERTIFICATE_STORE -label "CN=Coy Root" -target temp4.arm
- -cert -extract -db GSK_MS_CERTIFICATE_STORE -label -"CN=Coy Root" target temp4.arm
- 이 명령은 extract certificate 명령입니다(-extract 조치 및 -cert 오브젝트). 이 명령은 MCS 데이터베이스(-db GSK_MS_CERTIFICATE_STORE)로부터
지정된 인증서 데이터(-label"CN=Coy Root")를 추출하여 파일(temp4.arm)에 저장합니다.
gsk8capicmd -cert -add -db server.kdb -pw ser123 -label "CN=Coy Root" -file temp4.arm
- -cert -add -label "CN=Coy Root" -file temp4.arm
- 이 명령은 add certificate 명령입니다(-add 조치 및 -cert 오브젝트). 이 명령은 지정된 키 저장소에 인증서를 추가합니다.
참고: 이러한 명령에서 루트 인증서 이름은 CN=Coy Root입니다. 사용자가 사용하는 루트 인증서의 이름은 더 깁니다. 또한 조직에서 둘 이상의
루트 인증서를 사용하는 경우에는 각 루트 인증서를 개별적으로 추출하여 추가해야 합니다. 예를 들면, 한 루트 인증서는 500명의 사용자가 사용하는 카드에 적용되고, 다른 루트 인증서는
나머지 2000명의 사용자에게 적용될 수 있습니다. 이 경우에는 이러한 루트 인증서를 모두 server.kdb에 추가해야 합니다.