5장. IdM에서 작동하도록 인증서 형식 변환
특정 IdM 명령을 사용하여 올바른 인증서 형식을 사용하는 방법을 알아봅니다. 예를 들어 다음과 같은 경우에 유용합니다.
- 사용자 프로필에 외부 인증서를 로드하고 있습니다. 자세한 내용은 IdM 사용자 계정으로 로드할 외부 인증서 변환을 참조하십시오.
- 사용자가 외부 인증 기관에서 발급한 인증서가 있는 스마트 카드를 사용하여 IdM을 인증할 수 있도록 스마트 카드 인증을 위해 IdM 서버를 구성하거나 스마트 카드 인증을 위해 IdM 클라이언트를 구성할 때 외부 CA 인증서를 사용하고 있습니다.
- NSS 데이터베이스에서 인증서와 개인 키를 모두 포함하는 pkcs #12 형식으로 인증서를 내보내고 있습니다. 자세한 내용은 NSS 데이터베이스에서 PKCS #12 파일로 인증서 및 개인 키 내보내기를 참조하십시오.
5.1. IdM의 인증서 형식 및 인코딩 링크 복사링크가 클립보드에 복사되었습니다!
IdM의 스마트 카드 인증을 포함한 인증서 인증은 사용자가 제공하는 인증서 또는 사용자의 IdM 프로필에 저장된 인증서 데이터를 비교하여 진행됩니다.
- 시스템 구성
- IdM 프로필에 저장된 항목은 해당 개인 키가 아닌 인증서일 뿐입니다. 인증 중에 사용자에게 해당 개인 키가 있음을 표시해야 합니다. 사용자는 인증서와 개인 키를 모두 포함하는 PKCS #12 파일을 제공하거나 인증서가 포함된 파일과 개인 키가 포함된 두 개의 파일을 표시하여 이를 수행합니다.
따라서 사용자 프로필에 인증서를 로드하는 것과 같은 프로세스는 개인 키가 포함되지 않은 인증서 파일만 허용합니다.
마찬가지로 시스템 관리자가 외부 CA 인증서를 제공하는 경우 공개 데이터(개인 키가 없는 인증서)만 제공합니다. IdM 서버 또는 스마트 카드 인증을 위한 IdM 클라이언트를 구성하기 위한 ipa-advise 유틸리티에서는 입력 파일에 외부 CA의 인증서가 포함되지만 개인 키는 포함할 것으로 예상합니다.
- 인증서 인코딩
-
두 가지 일반적인 인증서 인코딩은 Privacy-enhanced Electronic mail (
PEM) 및 Distinguished Encoding Rules (DER)입니다.base64형식은PEM형식과 거의 동일하지만 ----BEGIN CERTIFICATE--------END CERTIFICATE----END CERTIFICATE-----header 및 footer는 포함되지 않습니다.
DER 를 사용하여 인코딩된 인증서는 바이너리 X509 디지털 인증서 파일입니다. 바이너리 파일로 인증서는 사람이 읽을 수 없습니다. DER 파일은 .der 파일 이름 확장자를 사용하는 경우가 있지만 .crt 및 .cer 파일 이름 확장자가 있는 파일에 DER 인증서도 포함됩니다. 키가 포함된 DER 파일의 이름은 .key .key 로 지정할 수 있습니다.
PEM Base64를 사용하여 인코딩된 인증서는 사람이 읽을 수 있는 파일입니다. 이 파일에는 "----BEGIN …" 줄이 붙은 ASCII (Base64) 무장된 데이터가 포함되어 있습니다. PEM 파일은 .pem 파일 이름 확장자를 사용하는 경우가 있지만 .crt 및 .cer 파일 이름 확장자가 있는 파일에 PEM 인증서도 포함됩니다. 키가 포함된 PEM 파일의 이름은 .key 로 지정할 수 있습니다.
ipa 명령에 따라 허용되는 인증서 유형에 대한 제한 사항이 다릅니다. 예를 들어 ipa user-add-cert 명령은 base64 형식으로 인코딩된 인증서만 허용하지만 ipa-server-certinstall 은 PEM, DER, PKCS #7, PKCS #8 및 PKCS #12 인증서를 허용합니다.
| 인코딩 형식 | 사람이 읽을 수 있는 | 일반적인 파일 이름 확장 | 인코딩 형식을 수락하는 IdM 명령 샘플 |
|---|---|---|---|
| PEM/base64 | 제공됨 | .pem, .crt, .cer | ipa user-add-cert, ipa-server-certinstall, … |
| DER | 없음 | .der, .crt, .cer | ipa-server-certinstall, … |
IdM의 인증서 관련 명령 및 형식은 명령이 허용하는 인증서 형식과 함께 추가 ipa 명령을 나열합니다.
- 사용자 인증
- 웹 UI를 사용하여 IdM에 액세스할 때 사용자는 둘 다 브라우저의 데이터베이스에 저장하여 인증서에 해당하는 개인 키가 있음을 증명합니다.
CLI를 사용하여 IdM에 액세스할 때 사용자는 다음 방법 중 하나를 통해 인증서에 해당하는 개인 키가 있음을 증명합니다.
사용자는
kinit -X명령의X509_user_identity매개변수 값으로, 인증서와 키를 모두 포함하는 스마트 카드에 연결된 스마트 카드 모듈의 경로를 추가합니다.kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' idm_user
$ kinit -X X509_user_identity='PKCS11:opensc-pkcs11.so' idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow 사용자는 인증서와 다른 개인 키를 포함하는
kinit -X명령의X509_user_identity매개변수 값으로 두 개의 파일을 추가합니다.kinit -X X509_user_identity='FILE:`/path/to/cert.pem,/path/to/cert.key`' idm_user
$ kinit -X X509_user_identity='FILE:`/path/to/cert.pem,/path/to/cert.key`' idm_userCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 유용한 인증서 명령
- 주체 및 발행자와 같은 인증서 데이터를 보려면 다음을 수행합니다.
*openssl x509 -noout -text -in ca.pem*
$ *openssl x509 -noout -text -in ca.pem*
두 개의 인증서가 다른 행을 비교하려면 다음을 수행하십시오.
diff cert1.crt cert2.crt
$ diff cert1.crt cert2.crt
두 개의 인증서가 있는 행과 비교하려면 다음 두 열에 표시되는 출력과 다릅니다.
diff cert1.crt cert2.crt -y
$ diff cert1.crt cert2.crt -y