9.6. カスタム認証プラグインの登録
カスタム認証プラグインモジュールは、CA コンソールから登録できます。認証プラグインモジュールは、CA コンソールからも削除できます。モジュールを削除する前に、そのモジュールに基づいたインスタンスを削除します。
注記
カスタムプラグインを記述する場合は、認証プラグインのチュートリアル を参照してください。
- カスタム認証クラスを作成します。この例では、カスタム認証プラグインは、
UidPwdDirAuthenticationTestms.java
となります。 - 新しいクラスをコンパイルします。
javac -d . -classpath $CLASSPATH UidPwdDirAuthenticationTestms.java
- CA が登録フォームからカスタムクラスにアクセスできるように、CA の
WEB-INF
Web ディレクトリーにディレクトリーを作成します。mkdir /usr/share/pki/ca/webapps/ca/WEB-INF/classes
- 新しいプラグインファイルを新しい
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
- コンソールにログインします。
pkiconsole https://server.example.com:8443/ca
- プラグインを登録します。
- Configuration タブで、ナビゲーションツリーの Authentication をクリックします。
- 右側のペインで、Authentication Plug-in Registration をクリックします。タブは、登録済みのモジュールの一覧を表示します。
- プラグインを登録するには、をクリックします。Register Authentication Plug-in Implementation 画面が表示されます。
- 2 つのフィールドを入力して登録するモジュールを指定します。
- プラグイン名。モジュールの名前。
- クラス名。このモジュールのクラスのフルネーム。これは、実装 Java™ クラスへのパスです。このクラスがパッケージに含まれる場合は、パッケージ名を含めます。たとえば、com.customplugins という名前のパッケージに customAuth という名前のクラスを登録するには、クラス名は com.customplugins.customAuth になります。
- モジュールを登録したら、モジュールをアクティブな認証インスタンスとして追加します。
- Configuration タブで、ナビゲーションツリーの Authentication をクリックします。
- 右側のペインで、Authentication Instance タブをクリックします。
- 一覧からカスタムモジュール
UidPwdDirAuthenticationTestms.java
を選択し、リストからモジュールを追加します。モジュールに適した設定を入力します。
- 新しい認証モジュールを使用するために、新しいエンドエンティティーの登録フォームを作成します。
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
... - 新規プロファイルを 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 - CA を再起動します。
systemctl restart pki-tomcatd@instance_name.service