Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Standardmäßig wird eine Nachricht signiert und verschlüsselt, und die Signatur wird digital verschlüsselt. Dies können Sie steuern, indem Sie eine benutzerdefinierte Bindung mit einer Instanz von AsymmetricSecurityBindingElement oder SymmetricSecurityBindingElement erstellen und dann die MessageProtectionOrder-Eigenschaft der Klasse auf einen MessageProtectionOrder-Enumerationswert festlegen. Die Standardeinstellung ist SignBeforeEncryptAndEncryptSignature. Im Vergleich zum einfachen Signieren und Verschlüsseln dauert dieser Prozess 10 bis 40 Prozent länger. Wenn Sie die Verschlüsselung der Signatur jedoch deaktivieren, kann ein Angreifer eventuell den Inhalt der Nachricht erraten. Dies ist möglich, da das Signaturelement den Hashcode des reinen Texts des signierten Teils der Nachricht enthält. Obwohl der Nachrichtentext zwar standardmäßig verschlüsselt ist, enthält die unverschlüsselte Signatur z. B. den Hashcode des Nachrichtentexts. Wenn die Nachricht klein ist, könnte ein Angreifer den Inhalt herleiten. Diese Möglichkeit wird durch das Verschlüsseln der Signatur reduziert oder ausgeschlossen.
Deshalb sollten Sie die Verschlüsselung der Signatur nur deaktivieren, wenn der Inhalt für Sie von niedrigem Wert und die Leistungssteigerung erheblich ist, z. B. wenn große Binärdateien gesendet werden, die keinerlei Sicherheitsauswirkungen haben.
So deaktivieren Sie das digitale Signieren
Erstellen Sie eine CustomBinding. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen einer benutzerdefinierten Bindung mit dem SecurityBindingElement.
Fügen Sie der Bindungsauflistung entweder ein AsymmetricSecurityBindingElement oder ein SymmetricSecurityBindingElement hinzu.
Legen Sie die System.ServiceModel.Channels.AsymmetricSecurityBindingElement.MessageProtectionOrder-Eigenschaft auf SignBeforeEncrypt oder die System.ServiceModel.Channels.SymmetricSecurityBindingElement.MessageProtectionOrder-Eigenschaft auf SignBeforeEncrypt fest.
Weitere Informationen über über das Erstellen von benutzerdefinierten Bindungen finden Sie unter Erstellen benutzerdefinierter Bindungen. Weitere Informationen über über das Erstellen einer benutzerdefinierten Bindung für einen bestimmten Authentifizierungsmodus finden Sie unter Vorgehensweise: Erstellen eines SecurityBindingElement für einen angegebenen Authentifizierungsmodus.
Siehe auch
Aufgaben
Vorgehensweise: Erstellen eines SecurityBindingElement für einen angegebenen Authentifizierungsmodus
Verweis
MessageProtectionOrder
AsymmetricSecurityBindingElement
SymmetricSecurityBindingElement
Konzepte
Vorgehensweise: Erstellen einer benutzerdefinierten Bindung mit dem SecurityBindingElement
Erstellen benutzerdefinierter Bindungen