7.2. CMC 失効の実行
CMS (CMC) 登録を介した Certificate Management と同様に、CMC 失効により、ユーザーは失効クライアントをセットアップし、一致する
subjectDN
属性を使用するエージェント証明書またはユーザー証明書のいずれかを使用して失効要求に署名できます。これにより、ユーザーは署名済み要求を Certificate Manager に送信できます。
または、Shared Secret Token メカニズムを使用して CMC の失効を認証することもできます。詳細は、『Red Hat Certificate System 計画、インストール、およびデプロイメントのガイド』を参照してください。
ユーザーまたはエージェントが要求に署名するかどうか、または Shared Secret Token が使用されているかどうかに関係なく、Certificate Manager は、有効な失効要求を受信すると、証明書を自動的に失効させます。
Certificate System は、CMC 失効要求用に以下のユーティリティーを提供します。
CMCRequest
詳細は、「CMCRequest
を使用した証明書の取り消し」 を参照してください。CMCRevoke
詳細は、「CMCRevoke
を使用した証明書の取り消し」 を参照してください。
重要
Red Hat は、
CMCRequest
ユーティリティーを使用して、失効要求の生成を推奨します。これは、CMCRevoke
よりも多くのオプションを提供するためです。
7.2.1. CMCRequest
を使用した証明書の取り消し
CMCRequest
を使用して証明書を取り消すには、以下を実行します。
- 以下の内容で、
/home/user_name/cmc-request.cfg
などの CMC 失効要求の設定ファイルを作成します。#numRequests: Total number of PKCS10 requests or CRMF requests. numRequests=1 #output: full path for the CMC request in binary format output=/home/user_name/cmc.revoke.userSigned.req #tokenname: name of token where user signing cert can be found #(default is internal) tokenname=internal #nickname: nickname for user signing certificate which will be used #to sign the CMC full request. nickname=signer_user_certificate #dbdir: directory for cert8.db, key3.db and secmod.db dbdir=/home/user_name/.dogtag/nssdb/ #password: password for cert8.db which stores the user signing #certificate and keys password=myPass #format: request format, either pkcs10 or crmf. format=pkcs10 ## revocation parameters revRequest.enable=true revRequest.serial=45 revRequest.reason=unspecified revRequest.comment=user test revocation revRequest.issuer=issuer revRequest.sharedSecret=shared_secret
- CMC 要求を作成します。
# CMCRequest /home/user_name/cmc-request.cfg
コマンドが成功すると、CMCRequest
ユーティリティーは、要求設定ファイルのoutput
パラメーターで指定されたファイルに CMC 要求を保存します。 /home/user_name/cmc-submit.cfg
などの設定ファイルを作成します。このファイルは、後で CMC 取り消し要求を CA に送信します。作成されたファイルに以下の内容を追加します。#host: host name for the http server host=>server.example.com #port: port number port=8443 #secure: true for secure connection, false for nonsecure connection secure=true #input: full path for the enrollment request, the content must be #in binary format input=/home/user_name/cmc.revoke.userSigned.req #output: full path for the response in binary format output=/home/user_name/cmc.revoke.userSigned.resp #tokenname: name of token where SSL client authentication certificate #can be found (default is internal) #This parameter will be ignored if secure=false tokenname=internal #dbdir: directory for cert8.db, key3.db and secmod.db #This parameter will be ignored if secure=false dbdir=/home/user_name/.dogtag/nssdb/ #clientmode: true for client authentication, false for no client #authentication. This parameter will be ignored if secure=false clientmode=true #password: password for cert8.db #This parameter will be ignored if secure=false and clientauth=false password=password #nickname: nickname for client certificate #This parameter will be ignored if clientmode=false nickname=signer_user_certificate
重要CMC 失効要求に署名されている場合は、secure
パラメーターおよびclientmode
パラメーターも true に設定します。さらにnickname
パラメーターも入力します。- 要求に署名したユーザーに応じて、
HttpClient
の設定ファイルのservlet
パラメーターを適切に設定する必要があります。- エージェントが要求に署名した場合は、以下を設定します。
servlet=/ca/ee/ca/profileSubmitCMCFull
- ユーザーが要求に署名した場合は、以下を設定します。
servlet=/ca/ee/ca/profileSubmitSelfSignedCMCFull
- CMC 要求を送信します。
# HttpClient /home/user_name/cmc-submit.cfg
CMCRequest
を使用して証明書の取り消しの詳細は、CMCRequest(1) man ページを参照してください。
7.2.2. CMCRevoke
を使用した証明書の取り消し
CMC 失効ユーティリティー CMCRevoke は、エージェントの証明書を使用して失効要求に署名するために使用されます。このユーティリティーは、必要な情報 (証明書のシリアル番号、発行者名、失効理由) を渡して取り消す証明書を識別し、次に失効を実行する CA エージェントを識別するための必要な情報 (証明書のニックネームと証明書のあるデータベース) を渡します。
証明書が取り消される理由は、次のいずれかです (数値は、CMCRevoke に渡される値です)。
- 0: 指定無し
- 1: キーが侵害されました。
- 2: CA キーが侵害されました。
- 3: 従業員の所属が変更になりました
- 4: 証明書が置き換えられました
- 5: 運用停止
- 6: 証明書が保留中です
利用可能なツール引数は、『コマンドラインツールツールガイド』 で詳細に説明されています。
7.2.2.1. CMCRevoke のテスト
- 既存の証明書の CMC 失効要求を作成します。
CMCRevoke -d/path/to/agent-cert-db -nnickname -iissuerName -sserialName -mreason -ccomment
たとえば、エージェント証明書を含むディレクトリーは ~jsmith/.mozilla/firefox/ で、証明書のニックネームは AgentCert で、証明書のシリアル番号は 22 の場合、コマンドは次のとおりですCMCRevoke -d"~jsmith/.mozilla/firefox/" -n"ManagerAgentCert" -i"cn=agentAuthMgr" -s22 -m0 -c"test comment"
注記引用符で囲まれたスペースを含む値を囲みます。重要引数とその値の間には空白を入れないでください。たとえば、26 のシリアル番号は-26
ではなく、-s 26
となります。 - エンドエンティティーを開きます。
http
s
://server.example.com:8443/ca/ee/ca
- Revocation タブを選択します。
- メニューの CMC Revoke リンクを選択します。
- CMCRevoke からテキストエリアに出力を貼り付けます。
- 貼り付けられたコンテンツから -----BEGIN NEW CERTIFICATE REQUEST----- および ----END NEW CERTIFICATE REQUEST----- を削除します。
- 返されるページは、正しい証明書が取り消されていることを確認します。