9.6. カスタム認証プラグインの登録

カスタム認証プラグインモジュールは、CA コンソールから登録できます。認証プラグインモジュールは、CA コンソールからも削除できます。モジュールを削除する前に、そのモジュールに基づいたインスタンスを削除します。
注記
カスタムプラグインを記述する場合は、認証プラグインのチュートリアル を参照してください。
  1. カスタム認証クラスを作成します。この例では、カスタム認証プラグインは、UidPwdDirAuthenticationTestms.java となります。
  2. 新しいクラスをコンパイルします。
    javac -d . -classpath $CLASSPATH UidPwdDirAuthenticationTestms.java
  3. CA が登録フォームからカスタムクラスにアクセスできるように、CA の WEB-INF Web ディレクトリーにディレクトリーを作成します。
    mkdir /usr/share/pki/ca/webapps/ca/WEB-INF/classes
  4. 新しいプラグインファイルを新しい class ディレクトリーにコピーし、所有者を Certificate System system user (pkiuser) に設定します。
    cp -pr com /usr/share/pki/ca/webapps/ca/WEB-INF/classes
    
    chown -R pkiuser:pkiuser /usr/share/pki/ca/webapps/ca/WEB-INF/classes
  5. コンソールにログインします。
    pkiconsole https://server.example.com:8443/ca
  6. プラグインを登録します。
    1. Configuration タブで、ナビゲーションツリーの Authentication をクリックします。
    2. 右側のペインで、Authentication Plug-in Registration をクリックします。
      タブは、登録済みのモジュールの一覧を表示します。
    3. プラグインを登録するには、Register をクリックします。
      Register Authentication Plug-in Implementation 画面が表示されます。
    4. 2 つのフィールドを入力して登録するモジュールを指定します。
      • プラグイン名。モジュールの名前。
      • クラス名。このモジュールのクラスのフルネーム。これは、実装 Java™ クラスへのパスです。このクラスがパッケージに含まれる場合は、パッケージ名を含めます。たとえば、com.customplugins という名前のパッケージに customAuth という名前のクラスを登録するには、クラス名は com.customplugins.customAuth になります。
  7. モジュールを登録したら、モジュールをアクティブな認証インスタンスとして追加します。
    1. Configuration タブで、ナビゲーションツリーの Authentication をクリックします。
    2. 右側のペインで、Authentication Instance タブをクリックします。
    3. Add をクリックします。
    4. 一覧からカスタムモジュール UidPwdDirAuthenticationTestms.java を選択し、リストからモジュールを追加します。モジュールに適した設定を入力します。
  8. 新しい認証モジュールを使用するために、新しいエンドエンティティーの登録フォームを作成します。
    cd /var/lib/pki/pki-tomcat/ca/profiles/ca
    
    cp -p caDirUserCert.cfg caDirUserCertTestms.cfg
    
    vi caDirUserCertTestms.cfg
    
    desc=Test ms - This certificate profile is for enrolling user certificates with directory-based authentication.
    visible=true
    enable=true
    enableBy=admin
    name=Test ms - Directory-Authenticated User Dual-Use Certificate Enrollment
    auth.instance_id=testms
    ...
  9. 新規プロファイルを CA の CS.cfg ファイルに追加します。
    ヒント
    CS.cfg ファイルを編集する前にバックアップします。
    vim /var/lib/pki/instance-name/ca/conf/CS.cfg
    
    profile.list=caUserCert,caDualCert,caSignedLogCert,caTPSCert,caRARouterCert,caRouterCert,caServerCert,caOtherCert,caCACert,caInstallCACert,caRACert,caOCSPCert,caTransportCert,caDirUserCert,caAgentServerCert,caAgentFileSigning,caCMCUserCert,caFullCMCUserCert,caSimpleCMCUserCert,caTokenDeviceKeyEnrollment,caTokenUserEncryptionKeyEnrollment,caTokenUserSigningKeyEnrollment,caTempTokenDeviceKeyEnrollment,caTempTokenUserEncryptionKeyEnrollment,caTempTokenUserSigningKeyEnrollment,caAdminCert,caInternalAuthServerCert,caInternalAuthTransportCert,caInternalAuthKRAstorageCert,caInternalAuthSubsystemCert,caInternalAuthOCSPCert,DomainController,caDirUserCertTestms
    ...
    profile.caDirUserCertTestms.class_id=caEnrollImpl
    profile.caDirUserCertTestms.config=/var/lib/pki/pki-tomcat/ca/profiles/ca/caDirUserCertTestms.cfg
  10. CA を再起動します。
    systemctl restart pki-tomcatd@instance_name.service