現在メタデータリポジトリのサーバ証明書はSHA-1証明書を使用していますが、今後SHA-2証明書に移行する予定です。SHA-2証明書への移 行時にはOSやパッケージのバージョンによって、必要となるCA証明書が入っていない可能性があり、確認・導入の作業が発生する見込みです。
すでにIdPを構築済み・運用中の方は、以下の手順に従って利用しているOS、パッケージのバージョンをご確認ください。
これからIdP構築される方は構築段階で確認・導入しておくことで将来行うべき作業が不要となりますので、今回を機会にご対応ください。
確認方法
- CentOS 6で提供されるOpenJDKパッケージを利用している場合
CentOS 6で提供されるjava-1.6.0-openjdkパッケージおよびjava-1.7.0-openjdkパッケージのトラストアンカーはca-certificatesパッケージにて提供されます。ca-certificateパッケージがca-certificates-2013.1.94-65.0.el6.noarch.rpm
およびそれ以降のバージョンであることを確認してください。異なる場合には最新版にアップデートしてください。 - CentOS 5で提供されるOpenJDKパッケージを利用している場合
CentOS 5で提供されるjava-1.6.0-openjdkパッケージおよびjava-1.7.0-openjdkパッケージのトラストアンカーは同じパッケージ内に含まれた形で提供されていますが、対象となるCA証明書が含まれるパッケージが提供されていません。手順に従って必要なCA証明書を導入してくださ い。 - Oracle JDK 6を利用している場合
Oracle JDK 6 Update 17およびそれ以降をご利用の場合はトラストアンカーに必要なCA証明書が含まれています。Oracle JDK 6 Update 16およびそれ以前のバージョンを利用している場合は最新版へアップデートしていただくか、手順に従って必要なCA証明書を導入してください。 - Oracle JDK 7およびそれ以降を利用している場合
Oracle JDK 7およびそれ以降のトラストアンカーには必要な証明書が含まれています。そのため、CA証明書の導入は不要です。
CA証明書の導入方法
IdPのトラストアンカーにSECOMのSHA-2 CA証明書を導入する手順について記載します。
証明書の導入
・https://repository.secomtrust.net/SC-Root2/index.htmlからSecurity Communication Root CA2証明書をダウンロードします。ダウンロードしたファイルのファイル名は SCRoot2ca.cer とします。
・ダウンロードしたCA証明書のフィンガープリントが一致しているか下記の値と確認してください。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
$ openssl x509 |
・OpenJDKまたはOracle JDKがインストールされていることを確認します。本手順ではOracle JDKに関して/usr/java配下にOracle JDK Update 16がインストールされている前提として説明します。
OpenJDK 1.6.0の場合
パネル borderColor #cccccc bgColor #eeeeee borderStyle solid $ rpm -q java-1.6.0-openjdk java-1.6.0-openjdk-1.6.0.33-1.13.5.0.el5_11
OpenJDK 1.7.0の場合
パネル borderColor #cccccc bgColor #eeeeee borderStyle solid $ rpm -q java-1.7.0-openjdk java-1.7.0-openjdk-1.7.0.71-2.5.3.1.el5_11
Oracle JDKの場合は、インストールパスを確認します。
パネル borderColor #cccccc bgColor #eeeeee borderStyle solid $ ls -l /usr/java/jdk1.6.0_16/
・トラストアンカー(cacerts)にSecurity Communication Root CA2 証明書 [SR3.0用]が含まれているか否かを調査します。含まれている場合には、MD5, SHA1のフィンガープリントが表示されます。
OpenJDK 1.6.0/1.7.0の場合。複数のバージョンを導入している場合にはIdPで利用しているOpenJDKのcacertsをチェックしてください。
パネル borderColor #cccccc bgColor #eeeeee borderStyle solid $ keytool -list -keystore /etc/alternatives/jre/lib/security/cacerts | \
grep -e '6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43' \
-e '5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74'Enter keystore password: ← パスワードを変更していない場合はデフォルトのパスワード'changeit'を入力するか、
空のままEnterを入力します。
Oracle JDKの場合
パネル borderColor #cccccc bgColor #eeeeee borderStyle solid $ /usr/java/jdk1.6.0_16/bin/keytool -list -keystore /usr/java/jdk1.6.0_16/jre/lib/security/cacerts | \ grep -e '6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43' \
-e '5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74'
・トラストアンカー(cacerts)にSecurity Communication Root CA2 証明書 [SR3.0用]をインポートします。(aliasオプションを付けない場合はmykeyというエイリアス名になります)
OpenJDKの場合
パネル borderColor #cccccc bgColor #eeeeee borderStyle solid $ sudo keytool -import -alias scrootca2 -keystore /etc/alternatives/jre/lib/security/cacerts -file SCRoot2ca.cer
Enter keystore password:
←
パスワードを変更していない場合はデフォルトの 'changeit' を入力します。Owner: OU=Security Communication RootCA2, O="SECOM Trust Systems CO.,LTD.", C=JP
Issuer: OU=Security Communication RootCA2, O="SECOM Trust Systems CO.,LTD.", C=JP
Serial number: 0
Valid from: Fri May 29 14:00:39 JST 2009 until: Tue May 29 14:00:39 JST 2029
Certificate fingerprints:
MD5: 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43
SHA1: 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74
Signature algorithm name: SHA256withRSA
Version: 3
Extensions:
#1: ObjectId: 2.5.29.15 Criticality=true
KeyUsage [
Key_CertSign
Crl_Sign
]
#2: ObjectId: 2.5.29.19 Criticality=true
BasicConstraints:[
CA:true
PathLen:2147483647
]
#3: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: 0A 85 A9 77 65 05 98 7C 40 81 F8 0F 97 2C 38 F1 ...we...@....,8.
0010: 0A EC 3C CF ..<.
]
]
Trust this certificate? [no]:
←
'yes'を入力Certificate was added to keystore
Oracle JDKの場合
パネル borderColor #cccccc bgColor #eeeeee borderStyle solid $ sudo /usr/java/jdk1.6.0_16/bin/keytool -import -alias scrootca2 -keystore /usr/java/jdk1.6.0_16/jre/lib/security/cacerts -file SCRoot2ca.cer (内容はOpenJDKの場合と同じですので省略します)
証明書が導入されたことの確認
・トラストアンカー(cacerts)にSecurity Communication Root CA2 証明書 [SR3.0用]がインポートされていることを確認します。表示されたフィンガープリントがSecurity Communication Root CA2 証明書 [SR3.0用]と一致していることを確認してください。
OpenJDK 1.6.0の場合
パネル borderColor #cccccc bgColor #eeeeee borderStyle solid $ keytool -list -keystore /etc/alternatives/jre/lib/security/cacerts -alias scrootca2
Enter keystore password:
パスワードを変更していない場合はデフォルトのパスワード'changeit'を入力するか、←
空のままEnterを入力します。
scrootca2, Dec 22, 2014, trustedCertEntry,
Certificate fingerprint (MD5): 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43
↑ フィンガープリントを確認します
OpenJDK 1.7.0の場合
パネル borderColor #cccccc bgColor #eeeeee borderStyle solid $ keytool -list -keystore /etc/alternatives/jre/lib/security/cacerts -alias scrootca2
Enter keystore password:
パスワードを変更していない場合はデフォルトのパスワード'changeit'を入力するか、←
空のままEnterを入力します。
scrootca2, Dec 24, 2014, trustedCertEntry,
Certificate fingerprint (SHA1): 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74
↑ フィンガープリントを確認します
Oracle JDKの場合
パネル borderColor #cccccc bgColor #eeeeee borderStyle solid $ /usr/java/jdk1.6.0_16/bin/keytool -list -keystore /usr/java/jdk1.6.0_16/jre/lib/security/cacerts -alias scrootca2
Enter keystore password:
パスワードを変更していない場合はデフォルトのパスワード'changeit'を入力するか、←
空のままEnterを入力します。
scrootca2, Jan 9, 2015, trustedCertEntry,
Certificate fingerprint (MD5): 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43
↑ フィンガープリントを確認します