サーバ証明書の取得とApacheの設定(★)
1.「UPKI電子証明書発行サービス」の利用管理者編をご覧いただき、サーバ証明書発行を申請します。機関の審査手続きによっては証明書の交付までに数日を要する場合がありますので、お早めに申請してください。
所属機関が対象外等の理由で上記証明書サービスから証明書を入手できない場合、商用のパブリックな証明書でも代用可能な場合があります。詳細は事務局までお問い合わせください。
接続実験をするだけであれば、SPインストール時に作成された証明書(自己署名証明書)をそのまま利用してテストフェデレーションに参加することも可能です。その場合は、以降の記述にある ssl.conf
および shibboleth2.xml
の修正は不要です。なお、その場合にSPで使用されるサーバ証明書および秘密鍵は以下のファイルと対応します。中間CA証明書は不要です。
- サーバ証明書(server.crt) →
/etc/shibboleth/sp-cert.pem
- 秘密鍵(server.key) →
/etc/shibboleth/sp-key.pem
- 中間CA証明書(server-chain.crt) → 不要
実習セミナー
・証明書は、初期設定で「/root/GETFILE」に取得したファイルを使用します。
サーバ証明書:server.crt
秘密鍵:server.key
中間CA証明書:server-chain.crt
上記ファイルにて、以降の設定(ssl.conf、shibboleth2.xml)を行ってください。
2.入手したサーバ証明書を以下のファイルに設定してください。(★)
■/etc/httpd/conf.d/ssl.conf(★)
実習セミナー
・各証明書と秘密鍵を「/root/GETFILE」配下よりコピーしてください。
# cp /root/GETFILE/server{,-chain}.crt /etc/pki/tls/certs/
# cp /root/GETFILE/server.key /etc/pki/tls/private/
/etc/httpd/conf.d/ssl.conf を以下のように編集してください。(★)
(省略) SSLCertificateFile /etc/pki/tls/certs/server.crt ←サーバ証明書の格納先 (省略) SSLCertificateKeyFile /etc/pki/tls/private/server.key ←秘密鍵の格納先 (省略) SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt ←中間CA証明書の格納先 ↑先頭の「#」を削除して、コメントを解除してください。
ssl.conf設定後、httpdを再起動します。(★)
# service httpd restart
CentOS 7の場合コマンドが異なります。
# systemctl restart httpd
設定について詳しくは、サーバ証明書インストールマニュアルの Apache 2 + mod_ssl 編を参照してください。
■/etc/shibboleth/shibboleth2.xml(★)
「/etc/shibboleth/cert」配下に、サーバ証明書と秘密鍵をコピーしてください。(★)
実習セミナー
・サーバ証明書と秘密鍵を「/root/GETFILE」配下よりコピーしてください。
# cp /root/GETFILE/server.key /etc/shibboleth/cert/
# cp /root/GETFILE/server.crt /etc/shibboleth/cert/
以下の設定では、コピーしたserver.keyとserver.crtを参照するように編集します。
(cert/server.key、cert/server.crt)
/etc/shibboleth/shibboleth2.xml を以下のように編集してください。(★)
(省略) <!-- Simple file-based resolver for using a single keypair. --> <CredentialResolver type="File" key="cert/server.key" certificate="cert/server.crt"/> ↑秘密鍵の格納先 ↑サーバ証明書の格納先
※端末のサイズによっては表記がずれる可能性がございます。画面を広くしてご覧ください。
/etc/shibboleth/cert/server.key
はユーザshibdによって読み取れる必要があります。Shibboleth SPのデフォルト設定である以下を参考にパーミッションを限定してください。
# chown shibd:shibd /etc/shibboleth/cert/server.key
# chmod 440 /etc/shibboleth/cert/server.key
メタデータの作成と提出(★)
実習セミナー
・メタデータテンプレートは、初期設定で「/root/GETFILE」に取得したsp-metadata.xmlを使用
します。rootのホームディレクトリに「"ドメインなしホスト名".xml」のファイル名でコピーします。
例)1番を割り振られた場合
ホスト名:ex-sp-test01.gakunin.nii.ac.jpとなり、ファイル名:ex-sp-test01.xmlです。
以下のコマンドでファイルをコピーします。
# cp /root/GETFILE/sp-metadata.xml /root/ex-sp-test01.xml
コピー後、SPメタデータテンプレートを参考に必要な項目を変更します。
(証明書部分には、/etc/shibboleth/cert/server.crtの内容を使用します。)
実習セミナー
・作成したメタデータは学認申請システムではなく、実習セミナー内のDSサーバに転送します。
以下は、転送コマンドの例です。
例)ホスト名:ex-sp-test01.gakunin.nii.ac.jpの場合
# scp /root/ex-sp-test01.xml uploader@ex-ds.gakunin.nii.ac.jp:METADATA
転送したメタデータは、1分周期で他のメタデータとマージ処理を行い、実習セミナー内の
フェデレーションメタデータが更新されます。
※1分周期で行う為、最大約1分登録までに時間がかかります。