게이트웨이에서는 자신의 공개 키를 클라이언트로 전송하기 위해 인증서를 필요로 합니다. 인증서에는 게이트웨이의 공개 키, 게이트웨이의 인증서와 연결된 고유 이름, 일련 번호 또는 인증서 발급 날짜 및 만료 날짜가 포함됩니다. 인증서는 게이트웨이의 Identity를 검증하는 인증 기관(CA)에서 발급합니다. CA는 한 명 이상의 사용자가 신뢰하는 기관으로, X.509 공개 키 인증서 및 CARL 또는 CRL(Certification Revocation List)을 발행 및 관리합니다. CA는 PKI(공개 키 인프라)의 기본 빌딩 블록입니다. 한편, PKI는 공개 키 인증서의 발행, 유지 관리 및 해지 기능을 포함하여 인증서 및 공개-개인 키 쌍을 관리할 목적으로 사용되는 정책, 프로세스, 서버 플랫폼, 소프트웨어 및 워크스테이션 집합이기도 합니다.
CA는 자신의 이름을 모든 인증서 및 생성한 CRL에 삽입하고 개인 키를 사용하여 인증서를 디지털 서명합니다. 직접 또는 인증 경로를 통해 CA에 대한 신뢰가 구축되면 CA에서 발행한 인증서를 신뢰할 수 있습니다. 이름을 비교하여 CA에서 발행한 인증서를 쉽게 파악할 수 있습니다. 그러나 공개 키는 해당 인증서가 유효한지 확인하는 데만 사용할 수 있습니다.
CA는 다음 4가지의 기본적인 PKI 기능을 수행합니다.
인증서를 발행(생성 및 서명)합니다.
인증서 상태 정보를 유지 관리하고 CRL을 발행합니다.
현재 만료되지 않은 인증서 및 CRL을 게시합니다.
만료된 인증서에 대한 상태 정보 아카이브를 유지 관리합니다.
사용자 서버의 인증서 및 키 쌍은 사용자 서버의 Identity를 나타내며서버 내부 또는 외부의 이동식 하드웨어 카드(스마트카드)에 보관할 수 있는 인증서 데이터베이스에 저장됩니다. Calendar Server를 위해 SSL을 구현하려면 인증서 데이터베이스가 필요합니다. 인증서 데이터베이스는 인증 기관(CA) 및 Calendar Server용 인증서를 정의해야 합니다. 이 절에서는 개념 및 작업 정보를 제공합니다.
인증서 데이터베이스를 만들기 전에 다음에 익숙해져야 합니다.
Mozilla 도구
이 릴리스에는 다음 Mozilla 도구가 포함되어 있습니다.
인증서 데이터베이스를 만들고 관리하는 인증서 데이터베이스 도구(certutil). 자세한 내용은 다음 웹 사이트를 참조하십시오.
http://mozilla.org/projects/security/pki/nss/tools/certutil.html
인증서 데이터베이스를 생성하기 전에 도구 구문을 잘 알고 있어야 합니다.
사용 가능한 보안 모듈에 대한 정보를 표시하는 보안 모듈 데이터베이스 도구(modutil). 자세한 내용은 다음 웹 사이트를 참조하십시오.
http://mozilla.org/projects/security/pki/nss/tools/modutil.html
이 유틸리티는 다음 디렉토리에서 사용할 수 있습니다.
/opt/SUNWics5/cal/lib
또는 웹 사이트에서 최신 버전을 다운로드할 수 있습니다.
라이브러리 경로 변수
Mozilla 도구를 사용하기 전에 LD_LIBRARY_PATH 변수를 적절하게 설정합니다. 예를 들면 다음과 같습니다.
setenv LD_LIBRARY_PATH /opt/SUNWics5/cal/lib
예제 파일 및 디렉토리
이 장의 예에서는 다음 파일 및 디렉토리를 사용합니다.
/etc/opt/SUNWics5/config는 인증서 데이터베이스가 있는 디렉토리입니다.
정기적으로 인증서 데이터베이스를 백업하십시오. 다른 디렉토리에 인증서 데이터베이스를 만들도록 선택할 수도 있습니다. 다른 디렉토리에 만들 경우 인증서 비밀번호 파일도 같은 디렉토리에 보관해야 합니다.
sslpassword.conf는 인증서 데이터베이스 비밀번호를 포함하는 텍스트 파일입니다.
이 파일은 Calendar Server가 아니라 certutil 유틸리티가 사용합니다. 다음 디렉토리에sslpassword.conf를 만듭니다.
/etc/opt/SUNWics5/config
/etc/passwd에 있는 파일에서는 난수 생성을 위한 엔트로피를 만듭니다. 즉, 이 디렉토리는 난수 생성기에서 실제로 무작위한 결과를 얻을 수 있도록 도와주는 다양하고 고유한 시드를 생성하는 데 사용됩니다.
수퍼유저(root)로 로그인합니다.
/etc/opt/SUNWics5/config/sslpassword.conf에서 인증서 데이터베이스 비밀번호를 지정합니다.
예를 들면 다음과 같습니다.
# echo "password file entry" /etc/opt/SUNWics5/config/sslpassword.conf |
비밀번호 파일 항목의 형식은 다음과 같습니다.
Internal (Software) Token: password
인증서 데이터베이스 디렉토리를 만듭니다. 예를 들면 다음과 같습니다.
# cd /var/opt/SUNWics5 # mkdir alias |
bin 디렉토리로 변경하고 인증서 데이터베이스(cert8.db)와 키 데이터베이스(key3.db)를 만듭니다. 예를 들면 다음과 같습니다.
# cd /opt/SUNWics5/cal/bin # ./certutil -N -d /etc/opt/SUNWics5/config -f /etc/opt/SUNWics5/config/sslpassword.conf |
certutil 유틸리티를 실행해야 하는 경우에는 다음 예를 정확하게 따르거나 certutil 도움말 페이지를 참조하여 구문을 이해해야 합니다.
예를 들어, 이 경우에는 -d / 파일 정보를 함께 지정하지 않고는 -N 옵션과 함께 유틸리티를 실행하지 마십시오.
자체 서명된 기본 루트 인증 기관 인증서를 생성합니다. 예를 들면 다음과 같습니다.
# ./certutil -S -n SampleRootCA -x -t "CTu,CTu,CTu" -s "CN=My Sample Root CA, O=sesta.com" -m 25000 -o /etc/opt/SUNWics5/config/SampleRootCA.crt -d /etc/opt/SUNWics5/config -f /etc/opt/SUNWics5/config/sslpassword.conf -z /etc/passwd |
호스트를 위한 인증서를 생성합니다. 예를 들면 다음과 같습니다.
# ./certutil -S -n SampleSSLServerCert -c SampleRootCA -t "u,u,u" -s "CN=hostname.sesta.com, O=sesta.com" -m 25001 -o /etc/opt/SUNWics5/config/SampleSSLServer.crt -d /etc/opt/SUNWics5/config -f /etc/opt/SUNWics5/config/sslpassword.conf -z /etc/passwd |
여기서 hostname.sesta.com은 서버 호스트 이름입니다.
인증서를 검증합니다. 예를 들면 다음과 같습니다.
# ./certutil -V -u V -n SampleRootCA -d /etc/opt/SUNWics5/config # ./certutil -V -u V -n SampleSSLServerCert -d /etc/opt/SUNWics5/config |
인증서를 나열합니다. 예를 들면 다음과 같습니다.
# ./certutil -L -d /etc/opt/SUNWics5/config # ./certutil -L -n SampleSSLServerCert -d /etc/opt/SUNWics5/config |
modutil을 사용하여 사용 가능한 보안 모듈을 나열합니다(secmod.db). 예를 들면 다음과 같습니다.
# ./modutil -list -dbdir /etc/opt/SUNWics5/config |
별칭 파일의 소유자를 icsuser 및 icsgroup(또는 Calendar Server를 실행할 사용자 및 그룹 아이디)으로 변경합니다. 예를 들면 다음과 같습니다.
# find /etc/opt/SUNWics5/config -exec chown icsuser {}; # find /etc/opt/SUNWics5/config -exec chgrp icsgroup {}; |