Oracle OpenSSO Update 2-Versionsinformationen

Neue Funktionen für das Fedlet in OpenSSO 8.0 Update 2

Oracle OpenSSO 8.0 Update 2 enthält die folgenden neuen Funktionen für das Fedlet:

Fedlet-Versionsinformationen (CR 6941387)

Das Oracle OpenSSO-Fedlet enthält Versionsinformationen. Wenn Sie die Dateien im Fedlet-Paket (ZIP-Datei) extrahiert haben, ermitteln Sie die Fedlet-Version, indem Sie eine der folgenden Dateien anzeigen:

Java-Fedlet-Kennwortverschlüsselung und -entschlüsselung (CR 6930477)

Das Java-Fedlet enthält fedletEncode.jsp in der Datei fedlet.war zum Verschlüsseln der Kennwörter storepass und keypass. Für jedes Fedlet wird standardmäßig ein anderer Verschlüsselungsschlüssel generiert. Zum Ändern dieses Verschlüsselungsschlüssels stellen Sie die Eigenschaft am.encryption.pwd in der Fedlet-Datei FederationConfig.properties ein.

Java-Fedlet-Support zum Signieren und Verschlüsseln

Dieses Java-Fedlet unterstützt die XML-Signaturüberprüfung und Entschlüsselung der verschlüsselten Elemente assertion und NameID und der entsprechenden Attribute.

ProcedureSo konfigurieren Sie das Java-Fedlet zum Signieren und für die Verschlüsselung:

  1. Erstellen Sie eine Schlüsselspeicherdatei mit dem Namen keystore.jks mithilfe des Dienstprogramms keytool.

  2. Fügen Sie den privaten Schlüssel (und gegebenenfalls das öffentliche Zertifikat), der zum Signieren verwendet wird, und den privaten Schlüssel (und gegebenenfalls das öffentliche Zertifikat), der zum Verschlüsseln verwendet wird, in die Datei keystore.jks ein.

  3. Erstellen Sie eine .storepass-Datei.

  4. Fügen Sie das Passwort in die .storepass-Datei ein. Zum Verschlüsseln des Kennworts verwenden Sie fedletEncode.jsp.

  5. Erstellen Sie eine .keypass-Datei.

  6. Fügen Sie das Passwort in die Datei .keypass ein Zum Verschlüsseln des Kennworts verwenden Sie fedletEncode.jsp.

  7. Wenn Sie Klartextpasswörter verwenden, füllen Sie die folgende Zeile in der Datei FederationConfig.properties aus

    com.sun.identity.saml.xmlsig.passwordDecoder=
        com.sun.identity.fedlet.FedletEncodeDecode
  8. Legen Sie den vollständigen Pfad für die folgenden Attribute in der Datei FederationConfig.properties fest, wobei path der vollständige Pfad zur jeweiligen Datei ist:

    com.sun.identity.saml.xmlsig.keystore=path/keystore.jks
    com.sun.identity.saml.xmlsig.storepass=path/.storepass
    com.sun.identity.saml.xmlsig.keypass=path/.keypass
  9. Verwenden Sie keytool, um das Signierzertifikat zu exportieren Beispiel:

    keytool -export -keystore keystore.jks -rfc -alias test

    Das Tool fordert Sie auf, das Passwort einzugeben, das zum Zugreifen auf keystore.jks verwendet wird und generiert anschließend das Zertifikat.

  10. Wenn Sie ein Verschlüsselungszertifikat benötigen, verwenden Sie keytool, um es zu exportieren, wie im vorherigen Schritt dargestellt (Oder verwenden Sie das gleiche Zertifikat zum Signieren und für die Verschlüsselung.)

  11. Erstellen Sie einen KeyDescriptor-XML-Block und fügen Sie das Verschlüsselungszertifikat ein. Notieren Sie sich z B. den Tag use="signing" des Elements KeyDescriptor.

    <KeyDescriptor use="signing">
          <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>
    </KeyDescriptor>
  12. Erstellen Sie einen weiteren KeyDescriptor-XML-Block und fügen Sie das Verschlüsselungszertifikat ein. Notieren Sie sich z. B. den Tag use="encryption" des Elements KeyDescriptor:

    <KeyDescriptor use="encryption">
          <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
            <X509Data>
              <X509Certificate>
    MIICQDCCAakCBEeNB0swDQYJKoZIhvcNAQEEBQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh
    bGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMQwwCgYDVQQKEwNTdW4xEDAOBgNVBAsTB09w
    ZW5TU08xDTALBgNVBAMTBHRlc3QwHhcNMDgwMTE1MTkxOTM5WhcNMTgwMTEyMTkxOTM5WjBnMQsw
    CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxMLU2FudGEgQ2xhcmExDDAK
    BgNVBAoTA1N1bjEQMA4GA1UECxMHT3BlblNTTzENMAsGA1UEAxMEdGVzdDCBnzANBgkqhkiG9w0B
    AQEFAAOBjQAwgYkCgYEArSQc/U75GB2AtKhbGS5piiLkmJzqEsp64rDxbMJ+xDrye0EN/q1U5Of\+
    RkDsaN/igkAvV1cuXEgTL6RlafFPcUX7QxDhZBhsYF9pbwtMzi4A4su9hnxIhURebGEmxKW9qJNY
    Js0Vo5+IgjxuEWnjnnVgHTs1+mq5QYTA7E6ZyL8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB3Pw/U
    QzPKTPTYi9upbFXlrAKMwtFf2OW4yvGWWvlcwcNSZJmTJ8ARvVYOMEVNbsT4OFcfu2/PeYoAdiDA
    cGy/F2Zuj8XJJpuQRSE6PtQqBuDEHjjmOQJ0rV/r8mO1ZCtHRhpZ5zYRjhRC9eCbjx9VrFax0JDC
    /FfwWigmrW0Y0Q==
              </X509Certificate>
            </X509Data>
          </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>
  13. Fügen Sie in der Java-Fedlet-Datei sp.xml unter dem Element SPSSODescriptor die XML-Blöcke mit den Signier- und Verschlüsselungszertifikaten ein. Das Beispiel für ein SPSSODescriptor-Element finden Sie unter Beispiel 4–1.

    Das Attribut AuthnRequestsSigned ist auf true festgelegt, sodass das Java-Fedlet alle Authentifizierungsanforderungen konfiguriert.

  14. Stellen Sie in der Java-Fedlet-Datei sp-extended.xml die Werte für die folgenden Elemente ein.

    • signingCertAlias enthält das Alias des XML-Signierzertifikats im Schlüsselspeicher.

    • encryptionCertAlias enthält das Alias des XML-Verschlüsselungszertifikates im Schlüsselspeicher.

  15. Zum Umsetzen der vom Java-Fedlet-Dienstanbieter verschlüsselten Daten stellen Sie die folgenden Attribute in der Datei sp-extended.xml auf true ein.

    • wantAssertionEncrypted

    • wantNameIDEncrypted

    • wantAttributeEncrypted

  16. Um die Daten, die der Java-Fedlet-Dienstanbieter verschlüsselt hat und signieren lassen möchte, stellen Sie die folgenden Attribute auf true ein.

    • wantAuthnRequestsSigned in der Datei idp.xml teilt dem Fedlet mit, was verschlüssel werden muss.

    • AuthnRequestsSigned und WantAssertionsSigned in der Datei sp.xml teilen dem Identity-Anbieter mit, was das Fedlet signieren will.

    • wantArtifactResponseSigned in der Datei sp-extended.xml teilt dem Fedlet mit, was signiert werden soll.

    • wantPOSTResponseSigned in der Datei sp-extended.xml .

    • wantLogoutRequestSigned in der Datei sp-extended.xml .

    • wantLogoutResponseSigned in der Datei sp-extended.xml .

    Wenn der Identity-Anbieter für bestimmte Nachrichten eine Signierung benötigt, stellen Sie in der Datei idp-extended.xml true ein. Beispielsweise wantLogoutRequestSignedund wantLogoutResponseSigned.


    Hinweis –

    Wenn Sie in der Datei sp-extended.xml Attribute festlegen, teilen Sie diese Informationen dem Identity-Anbieteradministrator mit, sodass er die erforderlichen Änderungen im Identity-Anbieter vornehmen kann.


  17. Starten Sie den Java-Fedlet-Webcontainer erneut.

  18. Importieren Sie die Java-Fedlet-Datei sp.xml in den Identity-Anbieter.


Beispiel 4–1 Java-Fedlet-Musterelement SPSSODescriptor.

<EntityDescriptor entityID="fedlet"
xmlns="urn:oasis:names:tc:SAML:2.0:metadata">

<SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="false"
protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<b><KeyDescriptor use="signing">
      <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>

</KeyDescriptor></b>
<b><KeyDescriptor use="encryption">
      <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
        <X509Data>
          <X509Certificate>
MIICQDCCAakCBEeNB0swDQYJKoZIhvcNAQEEBQAwZzELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNh
bGlmb3JuaWExFDASBgNVBAcTC1NhbnRhIENsYXJhMQwwCgYDVQQKEwNTdW4xEDAOBgNVBAsTB09w
ZW5TU08xDTALBgNVBAMTBHRlc3QwHhcNMDgwMTE1MTkxOTM5WhcNMTgwMTEyMTkxOTM5WjBnMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEUMBIGA1UEBxMLU2FudGEgQ2xhcmExDDAK
BgNVBAoTA1N1bjEQMA4GA1UECxMHT3BlblNTTzENMAsGA1UEAxMEdGVzdDCBnzANBgkqhkiG9w0B
AQEFAAOBjQAwgYkCgYEArSQc/U75GB2AtKhbGS5piiLkmJzqEsp64rDxbMJ+xDrye0EN/q1U5Of\+
RkDsaN/igkAvV1cuXEgTL6RlafFPcUX7QxDhZBhsYF9pbwtMzi4A4su9hnxIhURebGEmxKW9qJNY
Js0Vo5+IgjxuEWnjnnVgHTs1+mq5QYTA7E6ZyL8CAwEAATANBgkqhkiG9w0BAQQFAAOBgQB3Pw/U
QzPKTPTYi9upbFXlrAKMwtFf2OW4yvGWWvlcwcNSZJmTJ8ARvVYOMEVNbsT4OFcfu2/PeYoAdiDA
cGy/F2Zuj8XJJpuQRSE6PtQqBuDEHjjmOQJ0rV/r8mO1ZCtHRhpZ5zYRjhRC9eCbjx9VrFax0JDC
/FfwWigmrW0Y0Q==
          </X509Certificate>
        </X509Data>
      </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></b>
<NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</NameIDFormat
><AssertionConsumerService index="1"
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location="http://server.sun.com:7070/fedlet/fedletapplication"/>
</SPSSODescriptor>
</EntityDescriptor>

Java-Fedlet-Support für Attributabfrage (CR 6930476)

Das Java-Fedlet unterstützt die SAMLv2-Attributabfrage zum Abfragen eines Identity-Anbieters, z. B. Oracle OpenSSO 8.0 Update 2, auf spezifische Identitätsattributwerte. Sie können das Fedlet zum Signieren der Abfrage und Verschlüsseln der Abfrage konfigurieren. Das Signieren ist zum Ausgeben einer Fedlet-Abfrage erforderlich, die Verschlüsselung ist jedoch optional.

ProcedureSo konfigurieren Sie das Java-Fedlet zur Attributsabfrage:

  1. Aktivieren Sie die XML-Signierung zum Signieren der Attributsabfrage, wie beschrieben in Java-Fedlet-Support zum Signieren und Verschlüsseln.

  2. Fügen Sie das im vorherigen Schritt generierte Zertifikat in das Element RoleDescriptor in der Fedlet-Datei sp.xml. Im folgenden Beispiel werden zwei KeyDescriptor-Tags dargestellt, in die Sie das Zertifikat einfügen. Eines wird zum Signieren verwendet, das andere zum Verschlüsseln. Wenn Sie die Verschlüsselung nicht aktivieren, ist der KeyDescriptor use="encryption" tag nicht erforderlich.

    <RoleDescriptor xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:query="urn:oasis:names:tc:SAML:metadata:ext:query"
          xsi:type="query:AttributeQueryDescriptorType"
          protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
      <KeyDescriptor use="signing">
          <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
            <ds:X509Data>
              <ds:X509Certificate>
                --certificate--
              </ds:X509Certificate>
            </ds:X509Data>
          </ds:KeyInfo>
      </KeyDescriptor>
      <KeyDescriptor use="encryption">
          <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
            <ds:X509Data>
              <ds:X509Certificate>
                --certificate--
              </ds:X509Certificate>
            </ds:X509Data>
          </ds:KeyInfo>
        <EncryptionMethod
    Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc">
    <xenc:KeySize
    xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">128</xenc:KeySize>
        </EncryptionMethod>
      </KeyDescriptor>
    </RoleDescriptor>
  3. In der Java-Fedlet-Datei sp-extended.xml geben Sie den Wert für das Attribut signingCertAlias an und (wenn entsprechend konfiguriert) für das Attribut encryptionCertAlias an.

    Wenn Sie beabsichtigen, den Identity-Anbieter zum Verschlüsseln der Behauptung zu verwenden, verschlüsseln Sie auch das Element NameID. Daher muss der Wert des Attributs wantNameIDEncrypted auf true eingestellt sein. Fügen Sie den XML-Code in das Element AttributeQueryConfig ein. Beispiel:

    <Attribute name="signingCertAlias">
          <Value>test</Value>
    </Attribute>
    <Attribute name="encryptionCertAlias">
          <Value>test</Value>
    </Attribute>
    <Attribute name="wantNameIDEncrypted">
          <Value>true</Value>
    </Attribute>

    In diesem Beispiel ist test das Alias für den Musterschlüssel.

  4. Importieren Sie die Java-Fedlet-Metadatendatei (sp.xml) in den Identity-Anbieter.

    Führen Sie auch die zusätzlichen Konfigurationsschritte im Identity-Anbieter aus, um die Attributabfrage für das Fedlet zu unterstützen.

.NET-Fedlet-Verschlüsselung und Entschlüsselung von Abfragen und Antworten (CR 6939005)

Das .NET-Fedlet kann ausgehende XML-Abfragen verschlüsseln und eingehende Antworten auf die Elemente NameID, Attribut und Behauptung abfragen.

ProcedureSo konfigurieren Sie das .NET-Fedlet zum Verschlüsseln und Entschlüsseln von Anforderungen und Antworten:

  1. Importieren Sie mithilfe des Snap-Ins Certificates (Zertifikate) für die Microsoft Management Console das X.509-Zertifikat in den Ordner Personal (Persönlich) im Konto Local Computer (Lokaler Computer). Zur Verwendung dieses Snap-Ins beachten Sie den folgenden Microsoft-Artikel:

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

  2. Geben Sie einen Anzeigenamen für dieses Zertifikat an, indem Sie den Dialog Eigenschaften aufrufen und einen Wert eingeben. (Speichern Sie diesen Wert für Schritt 4.)

  3. Stellen Sie die entsprechenden Genehmigungen ein, um den Lesezugriff auf das Zertifikat für das Benutzerkonto zuzulassen, das vom Internet Information Server (IIS) verwendet wird, wie im Microsoft-Artikel beschrieben. Beispiel:

    1. Im Snap-In Certificates navigieren Sie zu Action (Aktion), All Tasks (Alle Aufgaben) und anschließend zu Manage Private Keys (Private Schlüssel verwalten).

    2. Geben Sie Leseberechtigungen für das Benutzerkonto an, die IIS ausführen (normalerweise NETWORK SERVICE).

  4. Geben Sie in der erweiterten Metadatendatei (sp.xml) des .NET-Fedlets den Anzeigenamen an, der in Schritt 2 als Wert für das Attribut encryptionCertAlias angegeben ist. Beispiel:

    <Attribute name="encryptionCertAlias">
    <Value>MyFedlet</Value>
  5. Fügen Sie in der Dienstanbieter-Metadatendatei (sp.xml) des .NET-Fedlets den KeyDescriptor für den Verschlüsselungsschlüssel ein.

    Verwenden Sie das Snap-In Certificates für die Microsoft Management Console, das Sie zuvor verwendet haben, um den öffentlichen Schlüssel Ihres Zertifikates in Base64-Codierung im XML-Block KeyDescriptor einzubeziehen. Dieser KeyDescriptor muss das erste untergeordnete Element im SPSSODescriptor sein. Beispiel:

    <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. Starten Sie den Anwendungspool erneut, der mit Ihrer .NET-Anwendung verknüpft ist.

Nächste Schritte

Verwenden Sie die Musteranwendung, um diese Konfiguration zu testen. Legen Sie auch die folgenden Attribute fest, um mit dem Identity-Anbieter und den entsprechenden Änderungen an den konfigurierten Metadaten Abfragen zu verschlüsseln und Antworten zu entschlüsseln.

.NET-Fedlet-Signieren von Abfragen und Antworten (CR 6928530)

Das .NET-Fedlet unterstützt das Signieren ausgehender XML-Anforderungen, z. B. Authn-Anforderungen und Abmeldungsanforderungen.

ProcedureSo konfigurieren Sie das .NET-Fedlet zum Signieren von Anforderungen und Antworten:

  1. Importieren Sie mithilfe des Snap-Ins Certificates (Zertifikate) für die Microsoft Management Console das X.509-Zertifikat in den Ordner Personal (Persönlich) im Konto Local Computer (Lokaler Computer). Zur Verwendung dieses Snap-Ins beachten Sie den folgenden Microsoft-Artikel:

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

  2. Geben Sie einen Anzeigenamen für dieses Zertifikat an, indem Sie den Dialog Eigenschaften aufrufen und einen Wert eingeben. (Speichern Sie diesen Wert für Schritt 4.)

  3. Stellen Sie die entsprechenden Genehmigungen ein, um den Lesezugriff auf das Zertifikat für das Benutzerkonto zuzulassen, das vom Internet Information Server (IIS) verwendet wird, wie im Microsoft-Artikel beschrieben. Beispiel:

    1. Im Snap-In Certificates navigieren Sie zu Action (Aktion), All Tasks (Alle Aufgaben) und anschließend zu Manage Private Keys (Private Schlüssel verwalten).

    2. Geben Sie Leseberechtigungen für das Benutzerkonto an, die IIS ausführen (normalerweise NETWORK SERVICE).

  4. Geben Sie in der erweiterten Metadatendatei des .NET-Fedlets (sp-extended.xml) den Anzeigenamen an, den Sie in Schritt 2 als Wert für das Attribut signingCertAlias angegeben haben. Beispiel:

    <Attribute name="signingCertAlias">
    <Value>MyFedlet</Value>
  5. Fügen Sie in der Dienstanbieter-Metadatendatei des .NET Fedlets (sp.xml ) den KeyDescriptor für den Signierschlüssel ein.

    Verwenden Sie das Snap-In Certificates für die Microsoft Management Console, das Sie zuvor verwendet haben, um den öffentlichen Schlüssel Ihres Zertifikates in Base64-Codierung im XML-Block KeyDescriptor einzubeziehen. Dieser KeyDescriptor muss das erste untergeordnete Element im SPSSODescriptor sein. Beispiel:

    <KeyDescriptor use="signing">
                 <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>
    </KeyDescriptor>
  6. Starten Sie den Anwendungspool erneut, der mit Ihrer .NET-Anwendung verknüpft ist.

.NET-Fedlelt-Einzelabmeldung (CR 6928528 und CR 6930472)

Das .NET-Fedlet unterstützt sowohl vom Identity-Anbieter initiierte und vom Dienstanbieter initiierte einmalige Abmeldungen. Zum Implementieren einer einmaligen Abmeldung enthält die .NET-Fedlet-Musteranwendung die Datei logout.aspx und spinitiatedslo.aspx im Ordner asp.net/SampleApp. Um anzuzeigen, wie die Funktion zur einmaligen Abmeldung des Fedlets funktioniert, stellen Sie die .NET-Fedlet-Musteranwendung bereit.

ProcedureSo konfigurieren Sie eine .NET-Fedlet-Service Provider-Anwendung für eine einmalige Abmeldung:

  1. Wenn Sie das .NET-Fedlet nicht konfiguriert haben, befolgen Sie die Schritte in der Datei Readme.

  2. Kopieren Sie die Datei logout.aspx und spinitiatedslo.aspx in den öffentlichen Inhalt Ihrer .NET-Anwendung.

  3. Führen Sie diese Änderungen an den Konfigurationsdateien für Ihre Anwendung aus.

    • Achten Sie darauf, dass der Pfad zur Datei logout.aspx in der Datei sp.xml auf die korrekte Position der Datei für Ihre Anwendung verweist.

    • Achten Sie darauf, dass der Pfad zur Datei spinitiatedslo.aspx in der Datei idp.xml auf die korrekte Position der Datei für Ihre Anwendung verweist.

  4. Wenn Sie möchten, dass die Abmeldungsanforderung und Abmeldungsantwort signiert werden, stellen Sie die folgenden Attribute in der Datei sp-extended.xml und idp-extended.xml auf true ein.

    • wantLogoutRequestSigned

    • wantLogoutResponseSigned

  5. Importieren Sie die Fedlet-Service Provider-Metadatendatei (sp.xml) in den Identity-Anbieter.

    Informieren Sie auch die Identity-Anbieteradministrator, dass Sie die einmalige Abmeldung für den Fedlet-Dienstanbieter konfiguriert haben, sodass alle erforderlichen Änderungen an der Konfiguration des Identity-Anbieters stattfinden können.

.NET-Fedlet-Dienstanbieter-initiierte einmalige Anmeldung (CR 6928525)

Das .NET-Fedlet unterstützt die vom SAMLv2-Dienstanbieter initiierte einmalige Anmeldung (Single Sign-On, SSO). Darüber hinaus wird Artefakt-Support benötigt, damit das .NET-Fedlet ein Artefakt erhalten kann, das anschließend von SOAP mit dem Artifact Resolution Service des ausgebenden Identity-Anbieters aufgelöst wird.

Die .NET-Fedlet-Musteranwendung zeigt, wie Sie die einmalige Anmeldung konfigurieren können. Wenn in Ihrer Anwendung die erforderlichen Artefakte installiert sind, ist eine spezifische IRL erforderlich, um den HTTP POST mit der SAMLv2-Reaktion nach der erfolgreichen Authentifizierung durch den Identity-Anbieter zu erhalten. Im folgenden Codebeispiel wird angezeigt, wie Sie diese Informationen in einer .NET-Anwendung abrufen können.


Beispiel 4–2 Codebeispiel zum Abrufen der AuthnResponse in einer .NET-Fedlet-Anwendung.

AuthnResponse authnResponse = null;
try
{
      ServiceProviderUtility spu = new ServiceProviderUtility(Context);
      authnResponse = spu.GetAuthnResponse(Context);
}
catch (Saml2Exception se)
{
      // invalid AuthnResponse received
}
catch (ServiceProviderUtilityException spue)
{
      // issues with deployment (reading metadata)
}

Wenn Ihre Anwendung die SAMLv2-Reaktion erhält, wird das authnResponse-Objekt mit den Behauptungsinformationen gefüllt. Die Musteranwendung zeigt an, wie Sie die Attribute und Betreffinformationen von diesem Objekt abrufen.

.NET-Fedlet-Support für mehrere Identity-Anbieter und Erkennungsdienst (CR 6928524)

Das .NET-Fedlet unterstützt mehrere Identity-Anbieter und den Erkennungsdienst des Identity-Anbieters.

In einigen Bereitstellungen empfiehlt es sich, das .NET-Fedlet mit mehreren Identity-Anbietern zu konfigurieren, z. B. Oracle OpenSSO 8.0 Update 2. Führen Sie die folgenden Aufgaben für jeden zusätzlichen Identity-Anbieter aus, den Sie hinzufügen möchten.

ProcedureSo konfigurieren Sie das .NET-Fedlet für mehrere Identity-Anbieter:

  1. Rufen Sie die XML-Metadatendatei vom zusätzlichen Identity-Anbieter ab.

  2. Benennen Sie die zusätzliche Identity-Anbieter-Metadatendatei als idp n.xml, wobei n der Identity-Anbieter ist, den Sie hinzufügen. Benennen Sie die zweite Identity-Anbieterdatei als idp2.xml, die dritte als idp3.xml usw. In diesem Verfahren wird idp2.xml als Dateiname verwendet.

  3. Kopieren Sie die Datei idp2.xml aus Schritt 2 in den Ordner App_Data Ihrer Anwendung.

  4. Fügen Sie diesen neuen Identity-Anbieter in den .NET-Fedlet-Vertrauenskreis hinzu.

    So fügen Sie den neuen Identity-Anbieter in einen bestehenden Vertrauenskreis hinzu:

    In der Datei fedlet.cot im Ordner der Anwendung App_Data hängen Sie die neue IDP-Entitäts-ID (gekennzeichnet durch das Attribut entityID in der Metadendatei idp2.xml) an den Wert des Attributs sun-fm-trusted-providersan und verwenden Sie dabei ein Komma (,) als Trennzeichen.

    So fügen Sie den neuen Identity-Anbieter in einen bestehenden Vertrauenskreis hinzu:

    1. Erstellen Sie eine neue Datei mit dem Namen fedlet2.cot im Ordner App_Data Ihrer Anwendung. Verwenden Sie die bestehende Datei fedlet.cot als Vorlage, aber ändern Sie den Wert des Attributs cot-name in den Namen des neuen Vertrauenskreises (z. B. cot2). Verwenden Sie die neue Entitäts-ID des Identity-Anbieters und die Fedlet-Entitäts-ID als Wert für das Attribut sun-fm-trusted-providers und trennen Sie die beiden Entitäts-IDs mit einem Komma (,).

    2. Fügen Sie in der Datei sp-extended.xml den neuen Namen des Vertrauenskreises in den Wert des Attributs cotlist ein. Beispielsweise für einen Vertrauenskreis mit dem Namen cot2.

      <Attribute name="cotlist">
      <Value>saml2cot</Value>
      <Value>cot2</Value>
      </Attribute>
  5. Erstellen Sie im Ordner App_Data Ihrer Anwendung die neue Datei idp2-extended.xml als erweiterte Metadaten für den neuen Identity-Anbieter ein. Verwenden Sie die bestehende Datei idp-extended.xml als eine Vorlage, aber ändern Sie die entityID in die neue Entitäts-ID des Identity-Anbieters. Ändern Sie den Wert für das Attribut cotlist in den Vertrauenskreisnamen, wenn ein neuer Vertrauenskreis für den Identity-Anbieter erstellt wird. Achten Sie darauf, dass es sich bei dem zusätzlichen Identity-Anbieter um eine Remote-Identity handelt.

  6. Starten Sie den Anwendungspool erneut, der mit Ihrer Fedlet-.NET-Anwendung verknüpft ist.

  7. Die Fedlet-Metadaten-XML-Datei (sp.xml) muss in den zusätzlichen Identity-Anbieter importiert und in den gleichen Vertrauenskreis wie die Identity-Anbieterentität hinzugefügt werden. Importieren Sie die Datei sp.xml in den Identity-Anbieter oder übergeben Sie die Datei Ihrem Identity-Anbieter zum Importieren.

.NET-Fedlet-Support für den Identity-Anbieter-Erkennungsdienst (CR 6928524)

In diesem Szenario wird das .NET-Fedlet wird mehreren Idenitätsanbietern in einem Vertrauenskreis konfiguriert und Sie können das Fedlet dazu konfigurieren, den Identity-Anbieter-Erkennungsdienst zum Ermitteln des bevorzugten Identity-Anbieters zu verwenden.

Der Erkennungsdienst muss für die Identity-Anbieter konfiguriert werden, die Sie mit dem .NET-Fedlet verwenden. Informationen zum Konfigurieren des Identity-Anbieter-Erkennungsdienstes in Oracle OpenSSO 8.0 Update 2 finden Sie in der folgenden Dokumentensammlung: http://docs.sun.com/coll/1767.1.

ProcedureSo konfigurieren Sie das.NET-Fedlet für die Verwendung des Identity-Anbieter-Erkennungsdienstes:

  1. Stellen Sie in der .NET-Fedlet-Datei fedlet.cot die Eigenschaft sun-fm-saml2-readerservice-url auf die SAMLv2-Leserdienst-URL ein. Beispiel:

    sun-fm-saml2-readerservice-url=http://discovery.common.com/opensso/saml2reader
  2. Starten Sie den Anwendungspool erneut, der mit Ihrer .NET-Fedlet-Anwendung verknüpft ist.