Verwenden Sie diesen Artikel und die Befehle in der Gruppe SecureConversation des Objekts
AdminTask, um den Clientcache für sichere Dialoge durch das Erstellen eines neuen Richtliniensatzes und neuer Bindungen
für Ihre Anwendungen zu aktivieren.
Vorbereitende Schritte
Stellen Sie sicher, dass der Richtliniensatz "SecureConversation" in Ihrer Konfiguration verfügbar ist. Standardmäßig ist der Richtliniensatz
"SecureConversation" nicht verfügbar.
Verwenden Sie den Befehl "importPolicySet", um die Richtlinie "SecureConversation", wie im folgenden
Beispiel gezeigt, in Ihre Konfiguration zu importieren:
AdminTask.importPolicySet('-defaultPolicySet SecureConversation')
Bevor Sie die in diesem Artikel beschriebenen Befehle verwenden, sollten Sie sich vergewissern, dass Sie die aktuelle Version des Tools wsadmin verwenden.
Die Verwaltungsbefehle für Richtliniensätze, die ein Eigenschaftenobjekt als Wert für die Parameter attributes und bindingLocation akzeptieren, werden
in früheren Versionen des Tools wsadmin nicht unterstützt. Diese Beispiele können beispielsweise nicht auf einem Knoten der Version
6.1.0.x ausgeführt werden.
Informationen zu diesem Vorgang
In diesem Artikel werden der Standardrichtliniensatz SecureConversation und die
WS-Security- und TrustServiceSecurityDefault-Standardbindungen verwendet, um sichere Dialog zu aktivieren.
Der Standardrichtliniensatz SecureConversation enthält eine Anwendungsrichtlinie mit der symmetrischen Bindung und
eine Bootstrap-Richtlinie mit der asymmetrischen Bindung.
Die Anwendungsrichtlinie sichert die Anwendungsnachrichten.
Die Bootstrap-Richtlinie sichert RST-Nachrichten (RequestSecurityToken).
Der Trust-Service, der Sicherheitskontexttokenprovider ausstellt, verwendet die Systemrichtlinie
TrustServiceSecurityDefault und die TrustServiceSecurityDefault-Bindungen.
Die Trust-Richtlinie sicheret RSTR-Nachrichten (RequestSecurityTokenResponse).
Wenn Sie die Bootstrap-Richtlinie ändern, müssen Sie auch die Trust-Richtlinie so ändern, dass beide Konfigurationen übereinstimmen.
Fehler vermeiden: Führen
Sie die folgenden Schritte nur in Entwicklungs- und Testumgebungen aus. Die WS-Security-Bindungen
in dieser Prozedur enthalten Beispielschlüsseldateien, die Sie anpassen müssen, bevor Sie die Bindungen in einer Produktionsumgebung
verwenden.
Erstellen Sie angepasste Bindungen für Ihre Produktionsumgebung.
gotcha
Vorgehensweise
- Starten Sie das Scripting-Tool "wsadmin" mit der Scripting-Sprache Jython. Weitere Informationen finden Sie in der Dokumentation zum Starten des wsadmin-Scripting-Clients.
- Kopieren Sie den vorhandenen SecureConversation-Richtliniensatz.
Verwenden Sie das folgende Befehlsbeispiel, um einen neuen Richtliniensatz durch Kopieren des vorhandenen
SecureConversation-Richtliniensatzes zu erstellen:
AdminTask.copyPolicySet('[-sourcePolicySet SecureConversation -newPolicySet CopyOfSCPolicySet]')
- Ändern Sie die Bindung für die globale Sicherheitsdomäne. Wenn Sie beim Erstellen Ihres Profils
mit Profile Management Tool oder mit dem Befehl "manageprofiles" die Option Server mit einer Entwicklungsschablone
erstellen ausgewählt haben,
können Sie diesen Schritt überspringen.
- Listen Sie die jedes Attribut der WS-Security-Richtlinie auf.
Wenn Sie die Bindung für die globale Sicherheitsdomäne ändern möchten, verwenden
Sie den Befehl "getDefaultBindings", um, wie im folgenden Beispiel gezeigt, die Bindung zu bestimmen, die als
Standardbindung für den Provider oder den Client festgelegt werden soll:
AdminTask.getDefaultBinding('-bindingType provider')
- Zeigen Sie die Attribute für die Bindung an.
Verwenden Sie den Befehl
"getBinding", um, wie im folgenden Beispiel gezeigt, die aktuellen Attribute für die Bindung anzuzeigen:
AdminTask.getBinding('-bindingLocation "" -bindingName myBinding')
- Ändern Sie die abgehende Konfiguration für das Zugriffsschutztoken.
Verwenden Sie die folgenden Befehle, um die abgehende Konfiguration für das Zugriffsschutztoken zu ändern:
cmd1_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.key.name [CN=Bob,O=IBM, C=US]] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.keystore.storepass storepass] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler
.keystore.type JCEKS] [application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler.key.alias bob]
[application.securityoutboundbindingconfig.tokengenerator_5.callbackhandler.keystore.path ${USER_INSTALL_ROOT}
/etc/ws-security/samples/enc-sender.jceks] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "" -attributes cmd1_attributes_value
-attachmentType application]')
cmd2_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore
.path ${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks] [application.securityoutboundbindingconfig
.tokengenerator_0.callbackhandler.keystore.storepass client] [application.securityoutboundbindingconfig
.tokengenerator_0.callbackhandler.key.name [CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP]] [application
.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key.keypass client] [application
.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key.alias soaprequester]
[application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.type JKS] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "" -attributes cmd2_attributes_value
-attachmentType application]')
- Optional: Ändern Sie die TrustDefaultBindings-Bindung.
Wenn Sie beim Erstellen Ihres Profils
mit Profile Management Tool oder mit dem Befehl "manageprofiles" die Option Server mit einer Entwicklungsschablone
erstellen ausgewählt haben,
können Sie diesen Schritt überspringen.
Wenn die TrustDefaultBindings noch nicht angepasst
wurden, verwenden Sie die folgenden Befehle, um die TrustDefaultBindings-Bindung zu ändern:
cmd3_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore
.storepass storepass] [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.key.alias bob]
[application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore.type JCEKS] [application
.securityoutboundbindingconfig.tokengenerator_1.callbackhandler.keystore.path ${USER_INSTALL_ROOT}/etc
/ws-security/samples/enc-sender.jceks] [application.securityoutboundbindingconfig.tokengenerator_1.callbackhandler
.key.name [CN=Bob, O=IBM, C=US]] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "[attachmentId 2]"
-attributes cmd3_attributes_value -attachmentType system/trust]')
cmd4_attributes_value = "[ [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.path
${USER_INSTALL_ROOT}/etc/ws-security/samples/dsig-sender.ks] [application.securityoutboundbindingconfig.tokengenerator_0
.callbackhandler.keystore.storepass client] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler
.key.name [CN=SOAPRequester, OU=TRL, O=IBM, ST=Kanagawa, C=JP]] [application.securityoutboundbindingconfig.tokengenerator_0
.callbackhandler.key.keypass client] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.key
.alias soaprequester] [application.securityoutboundbindingconfig.tokengenerator_0.callbackhandler.keystore.type JKS] ]"
AdminTask.setBinding('[-policyType WSSecurity -bindingLocation "[attachmentId 2]"
-attributes cmd4_attributes_value -attachmentType system/trust]')
- Ordnen Sie der Anwendung den Richtliniensatz und die Bindung zu.
Verwenden Sie den
Parametr "attachmentType" für den Befehl "createPolicySetAttachment", um anzugeben, ob Ihre Anwendung ein Service-Client oder ein
Service-Provider ist. Verwenden Sie die folgenden Befehle, um den Richtliniensatz
CopyOfSCPolicySet der Service-Client-Anwendung
myTestApp zuzuordnen:
AdminTask.createPolicySetAttachment('[-applicationName myTestApp -policySet CopyOfSCPolicySet
-resources WebService:/ -attachmentType client]')
Verwenden Sie die folgenden Befehle, um den Richtliniensatz
CopyOfSCPolicySet
der Service-Provider-Anwendung
myTestApp zuzuordnen:
AdminTask.createPolicySetAttachment('[-applicationName myTestApp -policySet CopyOfSCPolicySet
-resources WebService:/ -attachmentType application]')
In diesem Schritt werden die Bindungen automatisch zugeordnet.
Ergebnisse
Ihre Konfiguration für sichere Dialoge wird in der Datei "WSSCCache.xml" im Verzeichnis auf Zellenebene
aktualisiert.
Nächste Schritte
Verwalten Sie Ihre Konfigurationen für sichere Dialoge mit der Befehlsgruppe "SecureConversation"
für das Objekt "AdminTask".