現在メタデータリポジトリのサーバ証明書はSHA-1証明書を使用していますが、今後SHA-2証明書に移行する予定です。SHA-2証明書への移行時にはOSやパッケージのバージョンによって、必要となるCA証明書が入っていない可能性があり、確認・導入の作業が発生する見込みです。
すでにSPを構築済み・運用中の方は、以下の手順に従って利用しているOS、パッケージのバージョンをご確認ください。
これからSP構築される方は構築段階で確認・導入しておくことで将来行うべき作業が不要となりますので、今回を機会にご対応ください。
確認方法
- CentOS 6の場合
ca-certificatesパッケージが ca-certificates-2013.1.94-65.0.el6.noarch.rpm およびそれ以降であることを確認してください。異なる場合は最新版にアップデートしてください。 - CentOS 5の場合
対応するca-certificatesパッケージが提供されていません。次の手順に従って必要なCA証明書を導入してください。
CA証明書の導入方法
CentOS 5 上で稼働するSPのトラストアンカーにSECOMのSHA-2 CA証明書を導入する手順について記載します。
証明書が導入されていないことの確認
以下のようにwgetコマンドで https://attrviewer20.gakunin.nii.ac.jp/ にアクセスし、証明書のエラーとなることを確認します。
電子証明書発行サービス(https://certs.nii.ac.jp/)から発行されたSHA-2証明書を用いているほかのサーバを利用しても問題ありません。
$ wget https://attrviewer20.gakunin.nii.ac.jp/
--2015-03-18 14:32:33-- https://attrviewer20.gakunin.nii.ac.jp/
Resolving attrviewer20.gakunin.nii.ac.jp... 157.1.65.37
Connecting to attrviewer20.gakunin.nii.ac.jp|157.1.65.37|:443... connected.
ERROR: cannot verify attrviewer20.gakunin.nii.ac.jp's certificate, issued by `/C=JP/L=Academe/O=National Institute of Informatics/CN=NII Open Domain CA - G4':
Unable to locally verify the issuer's authority.
To connect to attrviewer20.gakunin.nii.ac.jp insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.
証明書の導入
・ https://repository.secomtrust.net/SC-Root2/index.htmlからSecurity Communication Root CA2証明書をダウンロードします。ダウンロードしたファイルのファイル名は SCRoot2ca.cer とします。
・ダウンロードしたファイルはバイナリ形式のため、以下のコマンドでテキスト形式に変換します。
# openssl x509 -inform DER -in SCRoot2ca.cer -outform PEM -out scrootca2.txt
・ 以下のコマンドでテキスト形式に変換したファイルのフィンガープリントが以下の例と一致することを確認します。
# openssl x509 -in scrootca2.txt -noout -fingerprint -sha256 SHA256 Fingerprint=51:3B:2C:EC:B8:10:D4:CD:E5:DD:85:39:1A:DF:C6:C2:DD:60:D8:7B:B7:36:D2:B5:21:48:4A:A4:7A:0E:BE:F6 # openssl x509 -in scrootca2.txt -noout -fingerprint -md5 MD5 Fingerprint=6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43 # openssl x509 -in scrootca2.txt -noout -fingerprint -sha1 SHA1 Fingerprint=5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74
・ 既存のトラストアンカーをバックアップします。
# cp /etc/pki/tls/certs/ca-bundle.crt
/etc/pki/tls/certs/
ca-bundle.crt.backup
・ 既存のトラストアンカーを新規ファイルにコピーします。
# cp /etc/pki/tls/certs/ca-bundle.crt ca-bundle.crt.new
・ 新規ファイルにSECOMのSHA-2 CA証明書を追加します。
# openssl x509 -in scrootca2.txt -noout -text >> ca-bundle.crt.new # cat scrootca2.txt >> ca-bundle.crt.new
・証明書を追加したトラストアンカーを既存のトラストアンカーと置き換えます。
# cp ca-bundle.crt.new /etc/pki/tls/certs/ca-bundle.crt # chown root:root /etc/pki/tls/certs/ca-bundle.crt # chmod 644 /etc/pki/tls/certs/ca-bundle.crt
証明書が導入されたことの確認
以下のようにwgetコマンドで https://openidp.nii.ac.jp/ にアクセスし、正常にページを取得できることを確認します。
# wget https://openidp.nii.ac.jp/
--2015-02-06 11:27:22-- https://openidp.nii.ac.jp/ Resolving openidp.nii.ac.jp... 157.1.65.56 Connecting to openidp.nii.ac.jp|157.1.65.56|:443... connected. HTTP request sent, awaiting response... 200 Length: unspecified [text/html] Saving to: `index.html.1' [ <=> ] 5,119 --.-K/s in 0.004s 2015-02-06 11:27:22 (1.30 MB/s) - `index.html.1' saved [5119]