第8章 証明書を登録するための認証


8.1. 認証プラグインによる自動承認

プロファイルの auth.instance_id パラメーターは認証メカニズムを指定します。証明書要求は、認証プラグインで自動的に承認されるか、CA エージェントによって手動で承認されます。
注記
証明書登録プロファイルの編集方法は、「証明書プロファイルの設定」 を参照してください。

8.1.1. 登録要求の自動承認の設定

登録リクエストは自動的に承認される設定は、要求の種類によって異なります。
  • agent-pre-approved CMC 要求の場合は、CA プロファイルに設定されます。
    auth.instance_id=CMCAuth
    authz.acl=group="Certificate Manager Agents"
    authz.acl パラメーターは、リクエストを承認できるグループを定義します。
  • ユーザーが開始された要求の場合:
    • CMC Shared Token を使用する場合は、CA プロファイルで設定します。
      auth.instance_id=CMCUserSignedAuth
      必要なデフォルトと制約:
      policyset.cmcUserCertSet.1.constraint.class_id=cmcSharedTokenSubjectNameConstraintImpl
      policyset.cmcUserCertSet.1.constraint.name=CMC Shared Token Subject Name Constraint
      policyset.cmcUserCertSet.1.default.class_id=authTokenSubjectNameDefaultImpl
      policyset.cmcUserCertSet.1.default.name=Subject Name Default
    • ユーザー署名要求を使用する場合は、CA プロファイルで設定します。
      auth.instance_id=CMCUserSignedAuth
      必要なデフォルトと制約:
      policyset.cmcUserCertSet.1.default.params.name=
      policyset.cmcUserCertSet.9.constraint.class_id=uniqueKeyConstraintImpl
      policyset.cmcUserCertSet.9.constraint.name=Unique Key Constraint
      policyset.cmcUserCertSet.9.constraint.params.allowSameKeyRenewal=true
      policyset.cmcUserCertSet.9.default.class_id=noDefaultImpl
      policyset.cmcUserCertSet.9.default.name=No Default
プロファイルの編集に関する詳細は、「証明書プロファイルの設定」 を参照してください。

8.1.2. CMC 認証プラグイン

Certificate System は、以下の認証プラグインを提供します。
CMCAuth
CA エージェントが CMC 要求に署名する場合は、このプラグインを使用します。
CMCAuth プラグインを使用するには、登録プロファイルで以下を設定します。
auth.instance_id=CMCAuth
デフォルトでは、以下の登録プロファイルは CMCAuth プラグインを使用します。
  • システム証明書の場合:
    • caCMCauditSigningCert
    • caCMCcaCert
    • caCMCECserverCert
    • caCMCECsubsystemCert
    • caCMCECUserCert
    • caCMCkraStorageCert
    • caCMCkraTransportCert
    • caCMCocspCert
    • caCMCserverCert
    • caCMCsubsystemCert
  • ユーザー証明書の場合:
    • caCMCUserCert
    • caECFullCMCUserCert
    • caFullCMCUserCert
CMCUserSignedAuth
署名付きまたは SharedSecret ベースの CMC 要求を送信する場合は、このプラグインを使用します。
CMCUserSignedAuth プラグインを使用するには、登録プロファイルに以下を設定します。
auth.instance_id=CMCUserSignedAuth
ユーザー署名の CMC 要求は、要求された証明書と同じ subjectDN 属性が含まれるユーザーの証明書で署名する必要があります。ユーザーが署名した CMC 要求を使用できるのは、ユーザーが他の証明書のユーザー ID を証明するために使用できる署名証明書を既に取得している場合のみです。
SharedSecret ベースの CMC 要求は、要求が要求自体の秘密鍵によって署名されたことを意味します。この場合、CMC 要求は認証に共有秘密メカニズムを使用する必要があります。SharedSecret ベースの CMC 要求は通常、ユーザーの最初の署名証明書を取得するために使用され、後で他の証明書を取得するために使用されます。詳細は、「CMC SharedSecret 認証」を参照してください。
デフォルトでは、以下の登録プロファイルは、CMCUserSignedAuth プラグインを使用します。
  • caFullCMCUserSignedCert
  • caECFullCMCUserSignedCert
  • caFullCMCSharedTokenCert
  • caECFullCMCSharedTokenCert

8.1.3. CMC SharedSecret 認証

Shared Secret 機能を使用して、ユーザーがサーバーに署名されていないリクエストを送信できるようにします。たとえば、ユーザーが最初の署名証明書を取得する場合は、これが必要になります。この署名証明書は、後でこのユーザーの他の証明書に署名するために使用できます。

8.1.3.1. 共有シークレットトークンの作成

Red Hat Certificate System Planning、Installation、and Deployment Guide (Common Criteria Edition)』 の 『The Shared Secret Workflow』 セクションでは、Shared Secret Token を使用する場合のワークフローについて説明しています。状態に応じて、エンドエンティティーユーザーまたは管理者が共有シークレットトークンを作成します。
注記
共有シークレットトークンを使用するには、Certificate System で RSA 発行の保護証明書を使用する必要があります。詳細は、RHCS P 計画、インストール、およびデプロイメントのガイドの共有シークレット機能の有効化セクションを参照してください。
Shared Secret Token を作成するには、以下を入力します。
# CMCSharedToken -d /home/user_name/.dogtag/ -p NSS_password \
     -s "CMC_enrollment_password" -o /home/user_name/CMC_shared_token.b64 \
     -n "issuance_protection_certificate_nickname"
HSM を使用する場合は、さらに HSM セキュリティートークン名を設定するコマンドの -h token_name オプションを渡します。
CMCSharedToken ユーティリティーの詳細は、CMCSharedToken(8) の man ページを参照してください。
注記
生成されたトークンは暗号化され、パスワードを認識したユーザーのみになります。CA 管理者がユーザーのトークンを生成する場合、管理者はセキュアな方法でユーザーにパスワードを提供する必要があります。
Shared Token を作成したら、管理者はトークンをユーザーまたは証明書レコードに追加する必要があります。詳細は、「CMC 共有シークレットの設定」 を参照してください。

8.1.3.2. CMC 共有シークレットの設定

管理者は、計画されるアクションに応じて、ユーザーまたは証明書の LDAP エントリーに生成した後に Shared Secret Token を保存する必要があります。
ワークフローの詳細と、いつ共有シークレットを使用するかについては、『Red Hat Certificate System Planning、Installation、and Deployment Guide (Common Criteria Edition)』 の 『The Shared Secret Workflow』 セクションを参照してください。
8.1.3.2.1. 証明書の登録用ユーザーエントリーへの CMC 共有シークレットの追加
証明書の登録に Shared Secret Token を使用するには、ユーザーの LDAP エントリーに管理者として保存します。
# ldapmodify -D "cn=Directory Manager" -W -p 389 -h server.example.com -x

dn: uid=user_name,ou=People,dc=example,dc=com
changetype: modify
replace: shrTok
shrTok: base64-encoded_token
8.1.3.2.2. 証明書失効用の証明書への CMC 共有シークレットの追加
証明書失効に Shared Secret Token を使用するには、取り消される証明書の LDAP エントリーに管理者として保存します。
 # ldapmodify -D "cn=Directory Manager" -W -p 389 -h server.example.com -x

dn: cn=certificate_id,ou=certificateRepository,ou=ca,o=pki-tomcat-CA
changetype: modify
replace: shrTok
shrTok: base64-encoded_token
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る