...
メタデータの作成と提出(★)
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) → 不要
|
1.メタデータの作成
ヒント |
---|
|
・証明書は、初期設定で「・メタデータテンプレートは、初期設定で「/root/GETFILE」に取得したファイルを使用します。 サーバ証明書:server.crt 秘密鍵:server.key 中間CA証明書:server-chain.crt 上記ファイルにて、以降の設定(ssl.conf、shibboleth2.xml)を行ってください。 |
2.入手したサーバ証明書を以下のファイルに設定してください。(★)
■/etc/httpd/conf.d/ssl.conf(★)
GETFILE」に取得したsp-metadata.xmlを使用します。 rootのホームディレクトリに「"ドメインなしホスト名".xml」のファイル名でコピーします。 例)1番を割り振られた場合 ホスト名:ex-sp-test01.gakunin.nii.ac.jpとなり、ファイル名:ex-sp-test01.xmlです。 以下のコマンドでファイルをコピーします。 # |
ヒント |
---|
|
・各証明書と秘密鍵を「/root/GETFILE」配下よりコピーしてください。 # cp /root/GETFILE/server{,-chain}.crt /etc/pki/tls/certs/ # cp /root/GETFILE/server.key /etc/pki/tls/private/sp-metadata.xml /root/ex-sp-test01.xml
|
「ex-sp-test??.xml」の必要な項目を変更します。
(証明書部分には、/etc/shibboleth/cert/server.crtの内容を使用します。) /etc/httpd/conf.d/ssl.conf を以下のように編集してください。(★)
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
(省略)
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を再起動します。(★)
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# 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 を以下のように編集してください。(★)
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
(省略)
<!-- 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のデフォルト設定である以下を参考にパーミッションを限定してください。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
| # chown shibd:shibd /etc/shibboleth/cert/server.key # chmod 440 /etc/shibboleth/cert/server.key
|
|
メタデータの作成と提出(★)
...
<EntityDescriptor xmlns="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://ex-sp-test??.gakunin.nii.ac.jp/shibboleth-sp">
↑ ホスト名(??は割り振られた番号)
<SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol urn:oasis:names:tc:SAML:1.1:protocol">
<Extensions>
<idpdisc:DiscoveryResponse xmlns:idpdisc="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol" Location="https://ex-sp-test??.gakunin.nii.ac.jp /Shibboleth.sso/DS" index="1" Binding="urn:oasis:names:tc:SAML:profiles:SSO:idp-discovery-protocol"/>
↑ ホスト名(??は割り振られた番号)
<mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui">
<mdui:DisplayName xml:lang="ja"> 実習セミナーSPテストXX</mdui:DisplayName>
<mdui:DisplayName xml:lang="en">Ex-SP-TestXX</mdui:DisplayName>
↑ SP名称(英/日)
<mdui:Description xml:lang="ja"> テスト用サービス</mdui:Description>
↑ サービス内容
<mdui:Logo height="50" width="50">https://SP-HostName/logo/logo.jpg</mdui:Logo>
↑ ロゴ画像URL
<mdui:InformationURL xml:lang="ja">https://SP-HostName/jp/</mdui:InformationURL>
<mdui:InformationURL xml:lang="en">https://SP-HostName/en/</mdui:InformationURL>
↑ SP情報URL(英/日)
</mdui:UIInfo>
</Extensions>
<KeyDescriptor>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate>
MIIFITCCBAmgAwIBAgIIBpAaVBrt6kMwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UE
BhMCSlAxETAPBgNVBAcTCEFjYWRlbWUyMSowKAYDVQQKEyFOYXRpb25hbCBJbnN0
aXR1dGUgb2YgSW5mb3JtYXRpY3MxDTALBgNVBAsTBFVQS0kxIDAeBgNVBAsTF05J
(中略)
kBFfvNBdrux4CkIsKhpYQXCAIEuy12CFZUXEtHB5XxeBkntbs2lfP/rWbg2J1Ige
zZc6shCn3VdrL2douVFjaAXlc8zwys/KIpLzNSxOOGwJdKxFTaIzH/emcqKj93Jd
DC1rrFMhoPE=
↑ 設定した証明書に変更(/etc/shibboleth/cert/server.crt)
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</KeyDescriptor>
<AssertionConsumerService isDefault="true" Location="https://ex-sp-test??.gakunin.nii.ac.jp /Shibboleth.sso/SAML2/POST" index="1" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"/>
↑ ホスト名(??は割り振られた番号)
<AssertionConsumerService Location="https://ex-sp-test??.gakunin.nii.ac.jp /Shibboleth.sso/SAML2/POST-SimpleSign" index="2" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST-SimpleSign"/>
↑ ホスト名(??は割り振られた番号)
<AssertionConsumerService Location="https://ex-sp-test??.gakunin.nii.ac.jp /Shibboleth.sso/SAML2/Artifact" index="3" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact"/>
↑ ホスト名(??は割り振られた番号)
<AssertionConsumerService Location="https://ex-sp-test??.gakunin.nii.ac.jp /Shibboleth.sso/SAML/POST" index="4" Binding="urn:oasis:names:tc:SAML:1.0:profiles:browser-post"/>
↑ ホスト名(??は割り振られた番号)
<AssertionConsumerService Location="https://ex-sp-test??.gakunin.nii.ac.jp /Shibboleth.sso/SAML/Artifact" index="5" Binding="urn:oasis:names:tc:SAML:1.0:profiles:artifact-01"/>
↑ ホスト名(??は割り振られた番号)
</SPSSODescriptor>
<Organization>
<OrganizationName xml:lang="en">Training Seminar University</OrganizationName>
<OrganizationName xml:lang="ja"> 実習セミナー大学</OrganizationName>
↑ 機関名称(英/日)
<OrganizationDisplayName xml:lang="en">Ex-SP-TestXX</OrganizationDisplayName>
<OrganizationDisplayName xml:lang="ja"> 実習セミナーSPテストXX</OrganizationDisplayName>
↑ SP名称(英/日)
<OrganizationURL xml:lang="en">http://YourHomePage/</OrganizationURL>
↑ 機関情報URL
</Organization>
<ContactPerson contactType="technical">
↑ 連絡先ポジションを以下から選択
[technical, support, administrative, billing, other]
<GivenName>Your GivenName</GivenName>
↑ 連絡先名(名)
<SurName>Your SurName</SurName>
↑ 連絡先名(姓)
<EmailAddress>mailto:admin@example.org</EmailAddress>
↑ 連絡先のe-mailアドレス
(メタデータは公開されるのでalias名などを推奨:学認技術運用基準4.4項参照)
</ContactPerson>
</EntityDescriptor>
|
作成したメタデータは学認申請システムではなく、実習セミナー内のDSサーバに転送します。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
...
展開 |
---|
|
学認申請システム(テストFed)から登録を行います。入力したデータから自動的にメタデータが生成されますのでメタデータ作成の必要はありません。詳細は参加のページをご覧ください。 ⇒参加 |
展開 |
---|
|
学認申請システムから登録を行います。入力したデータから自動的にメタデータが生成されますのでメタデータ作成の必要はありません。詳細は参加のページをご覧ください。 ⇒参加 |
ヒント |
---|
|
・作成したメタデータは学認申請システムではなく、実習セミナー内のDSサーバに転送します。
以下は、転送コマンドの例です。
例)ホスト名:ex-sp-test01.gakunin.nii.ac.jpの場合 |
# scp /root/ex-sp-test01test??.xml uploader@ex-ds.gakunin.nii.ac.jp:METADATA ↑「??」には割り振られた番号を記述 |
ヒント |
---|
|
転送したメタデータは、1分周期で他のメタデータとマージ処理を行い、実習セミナー内の フェデレーションメタデータが更新されます。 ※1分周期で行う為、最大約1分登録までに時間がかかります。 |
...