Dijital İmzaların Şifrelenmesi

Varsayılan olarak, bir ileti imzalanır ve şifrelenir ve imza dijital olarak şifrelenir. veya örneğiyle özel bir bağlama oluşturup her iki sınıfın AsymmetricSecurityBindingElementSymmetricSecurityBindingElementMessageProtectionOrder özelliğini bir numaralandırma değerine ayarlayarak MessageProtectionOrder bunu denetleyebilirsiniz. Varsayılan değer: SignBeforeEncryptAndEncryptSignature. Bu işlem yalnızca imzalama ve şifreleme işlemlerinden yüzde 10 ile 40 arasında daha uzun sürer. Ancak imzanın şifrelemesini devre dışı bırakmak, saldırganın iletinin içeriğini tahmin etmesine izin verebilir. İmza öğesi iletideki her imzalı bölümün düz metninin karma kodunu içerdiğinden bu mümkündür. Örneğin, ileti gövdesi varsayılan olarak şifrelenmiş olsa da, şifrelenmemiş imza ileti gövdesinin karma kodunu içerir. İleti küçükse, bir saldırgan içeriği gösterebilir. İmzanın şifrelenmesi bu olasılığı azaltır veya ortadan kaldırır.

Bu nedenle, imzanın şifrelenmesini yalnızca içeriğin değeri düşük olduğunda devre dışı bırakın ve performans kazancı önemli olacaktır, örneğin, hiçbir güvenlik etkisi olmayan büyük ikili dosyalar gönderilirken.

Dijital imzalamayı devre dışı bırakmak için

  1. oluşturun CustomBinding. Daha fazla bilgi için bkz . Nasıl yapılır: SecurityBindingElement Kullanarak Özel Bağlama Oluşturma.

  2. Bağlama koleksiyonuna bir AsymmetricSecurityBindingElement veya a SymmetricSecurityBindingElement ekleyin.

  3. AsymmetricSecurityBindingElement.MessageProtectionOrder özelliğini olarak SignBeforeEncryptayarlayın veya özelliğini olarak SignBeforeEncryptayarlayınSymmetricSecurityBindingElement.MessageProtectionOrder.

Özel bağlamalar oluşturma hakkında daha fazla bilgi için bkz . Kullanıcı Tanımlı Bağlamalar Oluşturma. Belirli bir kimlik doğrulama modu için özel bağlama oluşturma hakkında daha fazla bilgi için bkz . Nasıl yapılır: Belirtilen Kimlik Doğrulama Modu için SecurityBindingElement Oluşturma.

Ayrıca bkz.