Oracle OpenSSO Update 2 リリースノート

.NET Fedlet での要求の暗号化および応答の復号化 (CR 6939005)

.NET Fedlet は、NameID、属性、および表明の要素に対して、送信する XML 要求を暗号化したり、受信する応答を復号化したりできます。

Procedure.NET Fedlet を設定して要求を暗号化および応答を復号化する

  1. Micrsoft 管理コンソールの証明書スナップインを使用して、X.509 証明書をローカルコンピュータのアカウント内にある個人フォルダにインポートします。このスナップインを使用するには、次の Microsoft の記事を参照してください。

    http://msdn.microsoft.com/en-us/library/ms788967.aspx

  2. 「プロパティー」ダイアログを表示して値を入力することで、この証明書にわかりやすい名前を指定します (この値は手順 4 で保存)。

  3. 前述の Microsoft の記事に従って、Internet Information Server (IIS) によって使用されるユーザーアカウントの証明書に対して読み取りアクセスができるよう適切な権限を設定します。次に例を示します。

    1. 証明書スナップインで、「Action」、「All Tasks」、「Manage Private Keys」の順に選択します。

    2. IIS を実行しているユーザーアカウント (通常は NETWORK SERVICE) に「Allow Read」のアクセス権を指定します。

  4. .NET Fedlet の拡張メタデータファイル (sp-extended.xml) で、手順 2 で encryptionCertAlias 属性の値に指定したわかりやすい名前を指定します。次に例を示します。

    <Attribute name="encryptionCertAlias">
    <Value>MyFedlet</Value>
  5. .NET Fedlet のサービスプロバイダのメタデータファイル (sp.xml ) で、暗号化鍵用の KeyDescriptor を追加します。

    すでに使用した Microsoft 管理コンソールの証明書スナップインを使用して、KeyDescriptor XML ブロックに挿入する証明書の公開鍵を、Base64 エンコーディングでエクスポートします。この KeyDescriptor は、SPSSODescriptor 内の最初の子要素である必要があります。次に例を示します。

    <KeyDescriptor use="encryption">
               <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                 <ds:X509Data>
                   <ds:X509Certificate>
    MIICQDCCAakCBEeNB0swDQYJKoZIhvcNAQEEBQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh
    bGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMQwwCgYDVQQKEwNTdW4xEDAOBgNVBAsTB09w
    ZW5TU08xDTALBgNVBAMTBHRlc3QwHhcNMDgwMTE1MTkxOTM5WhcNMTgwMTEyMTkxOTM5WjBnMQsw
    CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxMLU2FudGEgQ2xhcmExDDAK
    BgNVBAoTA1N1bjEQMA4GA1UECxMHT3BlblNTTzENMAsGA1UEAxMEdGVzdDCBnzANBgkqhkiG9w0B
    AQEFAAOBjQAwgYkCgYEArSQc/U75GB2AtKhbGS5piiLkmJzqEsp64rDxbMJ+xDrye0EN/q1U5Of\+
    RkDsaN/igkAvV1cuXEgTL6RlafFPcUX7QxDhZBhsYF9pbwtMzi4A4su9hnxIhURebGEmxKW9qJNY
    Js0Vo5+IgjxuEWnjnnVgHTs1+mq5QYTA7E6ZyL8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB3Pw/U
    QzPKTPTYi9upbFXlrAKMwtFf2OW4yvGWWvlcwcNSZJmTJ8ARvVYOMEVNbsT4OFcfu2/PeYoAdiDA
    cGy/F2Zuj8XJJpuQRSE6PtQqBuDEHjjmOQJ0rV/r8mO1ZCtHRhpZ5zYRjhRC9eCbjx9VrFax0JDC
    /FfwWigmrW0Y0Q==
                   </ds:X509Certificate>
                 </ds:X509Data>
               </ds:KeyInfo>
               <EncryptionMethod
    Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc">
               <KeySize
    xmlns="http://www.w3.org/2001/04/xmlenc#">128</KeySize>
               </EncryptionMethod>
    </KeyDescriptor>
  6. .NET アプリケーションに関連づけられたアプリケーションプールを再起動します。

次の手順

この設定をテストするには、サンプルアプリケーションを使用します。また、設定したメタデータに適切な変更を加えて次の属性を設定することで、アイデンティティープロバイダとやりとりする要求を暗号化したり応答を復号化したりします。