Verschlüsselung von digitalen SignaturenEncryption of Digital Signatures

Standardmäßig wird eine Nachricht signiert und verschlüsselt, und die Signatur wird digital verschlüsselt.By default, a message is signed and encrypted, and the signature is digitally encrypted. 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.You can control this by creating a custom binding with an instance of the AsymmetricSecurityBindingElement or the SymmetricSecurityBindingElement and then setting the MessageProtectionOrder property of either class to a MessageProtectionOrder enumeration value. Die Standardeinstellung ist SignBeforeEncryptAndEncryptSignature.The default is SignBeforeEncryptAndEncryptSignature. Im Vergleich zum einfachen Signieren und Verschlüsseln dauert dieser Prozess 10 bis 40 Prozent länger.This process takes 10 to 40 percent longer than simply signing and encrypting. Wenn Sie die Verschlüsselung der Signatur jedoch deaktivieren, kann ein Angreifer eventuell den Inhalt der Nachricht erraten.Disabling encryption of the signature, however, might allow an attacker to guess the contents of the message. Dies ist möglich, da das Signaturelement den Hashcode des reinen Texts des signierten Teils der Nachricht enthält.This is possible because the signature element contains the hash code of the plain text of every signed part in the message. Obwohl der Nachrichtentext zwar standardmäßig verschlüsselt ist, enthält die unverschlüsselte Signatur z. B. den Hashcode des Nachrichtentexts.For example, although the message body is encrypted by default, the unencrypted signature contains the hash code of the message body. Wenn die Nachricht klein ist, könnte ein Angreifer den Inhalt herleiten.If the message is small, an attacker might be able to deduce the contents. Diese Möglichkeit wird durch das Verschlüsseln der Signatur reduziert oder ausgeschlossen.Encrypting the signature reduces or eliminates this possibility.

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.Therefore, disable encryption of the signature only when the value of the content is low, and the performance gain will be significant, for example, when sending large binary files that have no security implications.

So deaktivieren Sie das digitale SignierenTo disable digital signing

  1. Erstellen Sie eine CustomBinding.Create a CustomBinding. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen einer benutzerdefinierten Bindung mit dem SecurityBindingElement.For more information, see How to: Create a Custom Binding Using the SecurityBindingElement.

  2. Fügen Sie der Bindungsauflistung entweder ein AsymmetricSecurityBindingElement oder ein SymmetricSecurityBindingElement hinzu.Add either an AsymmetricSecurityBindingElement or a SymmetricSecurityBindingElement to the binding collection.

  3. Legen Sie die AsymmetricSecurityBindingElement.MessageProtectionOrder-Eigenschaft auf SignBeforeEncrypt oder die SymmetricSecurityBindingElement.MessageProtectionOrder-Eigenschaft auf SignBeforeEncrypt fest.Set the AsymmetricSecurityBindingElement.MessageProtectionOrder property to SignBeforeEncrypt, or set the SymmetricSecurityBindingElement.MessageProtectionOrder property to SignBeforeEncrypt.

Weitere Informationen zum Erstellen benutzerdefinierter Bindungen finden Sie unter Erstellen benutzerdefinierter Bindungen.For more information about creating custom bindings, see Creating User-Defined Bindings. Weitere Informationen zum Erstellen einer benutzerdefinierten Bindung für einen bestimmten Authentifizierungsmodus finden Sie unter Vorgehensweise: Erstellen eines SecurityBindingElement für einen angegebenen Authentifizierungsmodus.For more information about creating a custom binding for a specific authentication mode, see How to: Create a SecurityBindingElement for a Specified Authentication Mode.

Siehe auchSee Also

MessageProtectionOrder
AsymmetricSecurityBindingElement
SymmetricSecurityBindingElement
Vorgehensweise: Erstellen einer benutzerdefinierten Bindung mit dem SecurityBindingElementHow to: Create a Custom Binding Using the SecurityBindingElement
Erstellen benutzerdefinierter BindungenCreating User-Defined Bindings
Vorgehensweise: Erstellen eines SecurityBindingElement für einen angegebenen AuthentifizierungsmodusHow to: Create a SecurityBindingElement for a Specified Authentication Mode