[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[upki-fed:00426] メタデータ記載の証明書更新手順(key rollover) SP編



西村です。

前メールのSP編です。
ポイントは同じくメタデータ上の記載変更とIdP/SPの設定変更の間にタイ
ムラグを置いて、メタデータ伝播中にもIdP/SPが利用できない期間が発生
しないようにしているところです。
※ 以下の記述は学認ウェブサイトの技術ガイドに従って構築した
  場合の記述です。そうでない場合は適宜読み替えてください。

SPの証明書更新手順:

1日目    更新用証明書発行
       鍵およびCSR生成、申請、証明書受領
       (詳細は各機関の登録担当者に確認のこと)
       <証明書取得>
1日目    Apacheに対して証明書の更新(※1)
1日目    SPに対して設定変更1(新証明書を暗号化用として追加)(※2)
1日目    学認申請システムにて証明書を追加(予備の欄に)
       <承認待ち>
X日目    承認、学認メタデータに反映
       (ほとんどの場合その日のうちに承認されますが、そうでない場合
        を考慮してX日目としています)
       <メタデータに追加>
       <メタデータ伝播待ち>
X+15日目 SPに対して設定変更2(新証明書をメインにし旧証明書を暗号化用に変更)(※3)
X+15日目 問題がなければ、学認申請システムから古い証明書を削除
       (ついでに、新しい証明書を予備の欄から移動) 
       <承認待ち>
Y日目    承認、学認メタデータに反映
       (同上)
       <メタデータから旧証明書を削除>
       <メタデータ伝播待ち>
Y+15日目 SPに対して設定変更3(旧証明書削除)(※4)

※1「Apacheに対して証明書の更新」の手順
1. /etc/pki/tls/private/server.key
   /etc/pki/tls/certs/server.crt
   を新証明書のもので上書きする
   参考: https://www.gakunin.jp/docs/fed/technical/sp/customize/certpj-metadata
2. httpdを再起動する

※2 SP設定変更1
1. /etc/shibboleth/cert/new.key
   /etc/shibboleth/cert/new.crt
   に新証明書および鍵を配置する(この段階では旧証明書を上書きしないこと!)
2. 以下、全て/etc/shibboleth/shibboleth2.xmlに対する変更である。
--
<CredentialResolver type="File" key="cert/server.key" certificate="cert/server.crt"/>
--
↓
--
<CredentialResolver type="Chaining">
  <CredentialResolver type="File" key="cert/server.key" certificate="cert/server.crt"/>
  <CredentialResolver type="File" key="cert/new.key" certificate="cert/new.crt" use="encryption"/>
</CredentialResolver>
--
3. 変更後再起動を行うこと

※3 SP設定変更2
(同じ部分の変更につき変更後のみ記載)
--
<CredentialResolver type="Chaining">
  <CredentialResolver type="File" key="cert/server.key" certificate="cert/server.crt" use="encryption"/>
  <CredentialResolver type="File" key="cert/new.key" certificate="cert/new.crt"/>
</CredentialResolver>
--
変更後再起動を行うこと

※4 SP設定変更3
(同じ部分の変更につき変更後のみ記載)
--
<CredentialResolver type="File" key="cert/server.key" certificate="cert/server.crt"/>
--
このように戻した上で、
/etc/shibboleth/cert/server.key
/etc/shibboleth/cert/server.crt
を新証明書および鍵で上書きする
最後に再起動を行うこと


PS
なんでIdPとSPで更新手順が異なるの?と疑問に思う方もいらっしゃる
かもしれませんが、SPの証明書は暗号化にも使用されるため、上記のよ
うに複雑な手順になります。

-- 
西村健
国立情報学研究所 TEL:03-4212-2720