Red Hat Training

A Red Hat training course is available for RHEL 8

59장. IdM에서 작동하도록 인증서 형식 변환

이 사용자 사례에서는 IdM 시스템 관리자로서 특정 IdM 명령으로 올바른 형식의 인증서를 사용하고 있는지 확인하는 방법을 설명합니다. 예를 들어 다음과 같은 상황에서 유용합니다.

59.1. IdM의 인증서 형식 및 인코딩

사용자가 제공하는 인증서를 인증서 또는 사용자의 IdM 프로필에 저장된 인증서 데이터와 비교하여 IdM의 스마트 카드 인증을 포함한 인증서 인증이 진행됩니다.

시스템 설정

IdM 프로필에 저장된 것은 해당 개인 키가 아닌 인증서에만 저장됩니다. 인증하는 동안 사용자는 해당 개인 키를 소유하고 있음을 표시해야 합니다. 사용자는 인증서와 개인 키를 모두 포함하는 PKCS #12 파일을 제공하거나 인증서가 포함된 두 개의 파일을 제공하고 개인 키가 포함된 다른 파일을 제공하여 이러한 작업을 수행합니다.

따라서 사용자 프로필에 인증서를 로드하는 것과 같은 프로세스는 개인 키가 포함되지 않은 인증서 파일만 허용합니다.

마찬가지로 시스템 관리자가 외부 CA 인증서를 제공하는 경우 공용 데이터(개인 키가 없는 인증서)만 제공합니다. IdM 서버 또는 스마트 카드 인증을 위해 IdM 클라이언트를 구성하는 ipa-advise 유틸리티에서는 입력 파일에 외부 CA의 인증서가 포함되지 않고 개인 키가 아닌 외부 CA의 인증서가 포함되어야 합니다.

인증서 인코딩

일반적인 인증서 인코딩에는 두 가지가 있습니다. 개인 정보 보호 강화 전자 메일(PEM) 및 고유 인코딩 규칙(DER). base64 형식은 PEM 형식과 거의 동일하지만 -----BEGIN CERTIFICATE-----/-----END CERTIFICATE----- 헤더와 바닥글을 포함하지 않습니다.

DER 를 사용하여 인코딩된 인증서는 바이너리 X509 디지털 인증서 파일입니다. 이진 파일로는 인증서를 사람이 읽을 수 없습니다. DER 파일은 .der 파일 확장자를 사용하는 경우도 있지만 .crt 및. cer 파일 확장자가 있는 파일에도 DER 인증서가 포함된 경우가 있습니다. 키가 포함된 DER 파일의 이름은 .key 입니다.

PEM Base64를 사용하여 인코딩된 인증서는 사람이 읽을 수 있는 파일입니다. 파일에는 "----- BEGIN …" 행이 앞에 있는 ASCII(Base64)의 마운트된 데이터가 포함되어 있습니다. PEM 파일에서 .pem 파일 확장자를 사용하는 경우도 있지만 .crt 및. cer 파일 확장자가 있는 파일에도 PEM 인증서가 포함된 경우가 있습니다. 키가 포함된 PEM 파일의 이름은 .key 로 지정할 수 있습니다.

다른 ipa 명령에는 수락하는 인증서 유형에 대한 제한 사항이 다릅니다. 예를 들어 ipa user-add-cert 명령은 base64 형식으로 인코딩된 인증서만 수락하지만 ipa-server-certinstallPEM, DER, PKCS #7, PKCS #8PKCS #12 인증서를 허용합니다.

표 59.1. 인증서 인코딩

인코딩 형식사람이 읽을 수 있음일반적인 파일 이름 확장인코딩 형식을 허용하는 샘플 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 매개변수 값으로 두 개의 파일을 추가하고, 인증서와 다른 하나는 개인 키를 포함합니다.

    $ kinit -X X509_user_identity='FILE:`/path/to/cert.pem,/path/to/cert.key`' idm_user

유용한 인증서 명령

주체 및 발급자와 같은 인증서 데이터를 보려면 다음을 수행합니다.

$ openssl x509 -noout -text -in ca.pem

두 인증서가 다른 행을 비교하려면 다음을 수행하십시오.

$ diff cert1.crt cert2.crt

두 인증서가 두 열에 표시된 출력과 다른 행을 비교하려면 다음을 수행하십시오.

$ diff cert1.crt cert2.crt -y