GlassFishによるクライアント認証
ApacheなどのWebサーバがなく、GlassFishのみしか無い環境であっても、GlassFishの機能を使ってクライアント認証を実現出来ます。
方法は寺田佳央さんのブログに書いてあるのですが、はまった箇所があります。また寺田さんのブログは、ある程度OpenSSLが分かっている前提で書かれているので、何も考えずコマンドをコピペすると当然動作しない箇所があります。2010/2/8の記事なのでGlassFishのバージョン違いによる齟齬もあるのかもしれません。
ここではGlassFish v3.1.2で動作確認が取れた方法をもとに、寺田さんのブログの手順を追いかけながら補足していきたいと思います。
GlassFish のドメイン管理サーバ上でHTTP リスナーの設定をクライアント認証対応に変更
ブログのコマンドはGlassFishの構成に依存するようです。
GUIの管理コンソールでもこの設定は可能なので、そちらで設定するのも手です。
クライアント証明書の秘密鍵を作成
補足なし。
クライアント証明書用のCSRを作成
補足なし。
認証局(CA)でクライアント証明書を署名
ここでopenssl-client.cnf
というのが出て来ますが、クライアント用のCAの設定ファイルをどこかに作っておく必要があるよ、ということです。
CA.sh -newca
などとして認証局を作っておきましょう。
署名されたクライアント証明書をGlassFishのキーストアにインポートするため,X.509形式に変更
私の環境(OS X 10.9.1)ではコマンドがエラーを返し、原因が分からず行き詰まりました。
結局仮想環境のUbuntuで一連の作業を行い、事無きを得ました。
GlassFishのキーストアに対してクライアント証明書をインポート
ここもはまりました。
インポート先のキーストアがGlassFishのdomainの中のものでなければいけません。
以下の場所にあります。
<GlassFishのインストールディレクトリ>/glassfish-v3.1.2-ml/glassfish/domains/domain1/config/cacerts.jks
GlassFishの設定で、どのキーストアを見るかを変えられそうなのですが、うまくいかなかったです。
またGlassFishのキーストアのデフォルトのパスワードはchangeit
です。
コマンドの例を以下に書きます。
keytool -import -alias 証明書別名 -keystore <GlassFishのインストールディレクトリ>/glassfish-v3.1.2-ml/glassfish/domains/domain1/config/cacerts.jks -file インストールするクライアント証明書のパス
クライアント証明書をブラウザにインポートするためPKCS12形式に変換
補足なし。
以上です。
Author And Source
この問題について(GlassFishによるクライアント認証), 我々は、より多くの情報をここで見つけました https://qiita.com/jabaraster/items/0343b12c593d534e5b2f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .