比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。
コメント: Migrated to Confluence 5.3

...

ヒント
title実習セミナー

・メタデータテンプレートは、初期設定で「/root/GETFILE」に取得したidp-metadata.xmlを使用します。rootのホームディレクトリに「"ドメインなしホスト名".xml」のファイル名でコピーします。
 例)1番を割り振られた場合
   ホスト名:ex-idp-test01.ecloudgakunin.nii.ac.jpとなり、ファイル名:ex-idp-test01.xmlです。
   以下のコマンドでファイルをコピーします。
   # cp /root/GETFILE/idp-metadata.xml /root/ex-idp-test01.xml

 コピー後、IdPメタデータテンプレートを参考に必要な項目を変更します。
 (証明書部分には、/opt/shibboleth-idp/credentials/server.crtの内容を使用します。)  

...

ヒント
title実習セミナー

・作成したメタデータは学認申請システムではなく、実習セミナー内のDSサーバに転送します。
 以下は、転送コマンドの例です。
 メタデータファイル名を各自のファイル名に変更して実行してください。
 例)ホスト名:ex-idp-test01.ecloudgakunin.nii.ac.jpの場合
 # scp /root/ex-idp-test01.xml test@ex-ds.ecloudgakunin.nii.ac.jp:METADATA

 転送したメタデータは、1分周期で他のメタデータとマージ処理を行い、実習セミナー内のフェデレーションメタデータが更新されます。
 ※1分周期で行う為、最大約1分登録までに時間がかかります。

...

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# cd /opt/shibboleth-idp/credentials
# openssl pkcs12 -export -out pkcs12.p12 -in サーバ証明書.crt -inkey サーバ秘密鍵.key -name サーバ名
(ここで聞かれるエクスポートパスワードにはキーストアパスワードと同じものを指定してください)
# keytool -importkeystore -srckeystore pkcs12.p12 -destkeystore keystore.jks \
 -srcstoretype pkcs12 -deststoretype jks -srcalias サーバ名 -destalias サーバ名 \
 -storepass キーストアパスワード
# rm pkcs12.p12
# chmod 600 /opt/shibboleth-idp/credentials/keystore.jks

Tomcatを"tomcat"ユーザで実行する場合は、以下のコマンドを実行しTomcatが読み取れるようにします。ユーザで実行する場合は、さらに以下のコマンドを実行しTomcatが読み取れるようにします。

パネル

# chgrp tomcat /opt/shibboleth-idp/credentials/keystore.jks
# chmod g+r /opt/shibboleth-idp/credentials/keystore.jks

 

2.ライブラリのコピー

 https://build.shibboleth.net/nexus/content/repositories/releases/edu/internet2/middleware/security/tomcat6/tomcat6-dta-ssl/12.0.0/tomcat6-dta-ssl-12.0.0.jarよりダウンロードします。
 tomcat6-dta-ssl-12.0.0.jarを$CATALINA_HOME/lib配下にコピーします。

パネル
# wget https://build.shibboleth.net/nexus/content/repositories/releases/edu/internet2/middleware/security/tomcat6/tomcat6-dta-ssl/12.0.0/tomcat6-dta-ssl-12.0.0.jar
# cp tomcat6-dta-ssl-12.0.0.jar $CATALINA_HOME/lib
情報

ダウンロードされるJARファイルのSHA-256ハッシュ値は以下の通りです。さらに真正性を確認したい場合はPGP署名をご利用ください。
# sha256sum tomcat6-dta-ssl-12.0.0.jar
20d82d71cf9fc86197dd1c4c5dae3899efbf00e0706bbfe4d26618b56788d219  d7b0cf2ebcad28bb5037b2c35891e8d8fa0a0f853f61d51039776d6261111535  tomcat6-dta-ssl-12.0.0.jar

展開
titleshibboleth-jceを使用する場合
警告

この手順は古いものです。特に理由がなければ上記のtomcatこの手順は古いものです。特に理由がなければ上記のtomcat6-dta-ssl-1.0.0*.jarを使用してください。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
# cp /opt/shibboleth-idp/lib/shibboleth-jce-1.1.0.jar $JAVA_HOME/jre/lib/ext

※ 2.3.4以降には当該ファイルが同梱されていません。⇒情報交換ML:00414, 情報交換ML:00513

さらに、  $JAVA_HOME/jre/lib/security/java.security ファイルに以下を追加します。

パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid

#
# List of providers and their preference orders (see above):
#
security.provider.1=sun.security.provider.Sun
(省略)
security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.8=sun.security.smartcardio.SunPCSC
security.provider.9=edu.internet2.middleware.shibboleth.DelegateToApplicationProvider
 
↑ 行を追加

番号:9 は、既に記載されている番号に合わせて順番にして下さい。
(9が既に記載されている場合は、10に修正して行を追加)

...

 $CATALINA_BASE/conf/server.xml ファイルに以下を追加します。

パネル
<Connector port="8443"
           protocol="org.apache.coyote.http11.Http11Protocol"
           SSLImplementation="edu.internet2.middleware.security.tomcat6.DelegateToApplicationJSSEImplementation"
           scheme="https"
maxPostSize="100000"
           SSLEnabled="true"
           clientAuth="want"
sslProtocols="TLSv1,TLSv1.1,TLSv1.2" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
           keystoreFile="/opt/shibboleth-idp/credentials/keystore.jks"
           keystorePass="キーストアパスワード" />
情報

sslProtocols と sslEnabledProtocols はどちらもSSLv3を無効にするための記述です。Tomcatのバージョンによって参照されるものが異なります。マイナーバージョンにも影響を受けるため、安全のため両方を記載しています。なお、TLSv1.1とTLSv1.2の記載がありますが、実際に使用できるか否かはJava(JVM)のバージョンに依存します。

展開
titleshibboleth-jceを使用した場合
パネル
borderColor#cccccc
bgColor#eeeeee
borderStylesolid
<Connector port="8443"
           maxHttpHeaderSize="8192"
           maxSpareThreads="75"
           scheme="https"
           secure="true"
           clientAuth="want"
           SSLEnabled="true"
           sslProtocol="TLS"
sslProtocols="TLSv1,TLSv1.1,TLSv1.2" sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2"
           keystoreFile="/opt/shibboleth-idp/credentials/keystore.jks"            keystorePass="キーストアパスワード"            truststoreFile="/opt/shibboleth-idp/credentials/keystore.jks"            truststorePass="キーストアパスワード"            truststoreAlgorithm="DelegateToApplication"/>

...