Entschärfung: WCF-Dienste und ZertifikatauthentifizierungMitigation: WCF Services and Certificate Authentication

.NET Framework 4.6 fügt der Standardliste des WCF-SSL-Protokolls TLS 1.1 und TLS 1.2 hinzu.The .NET Framework 4.6 adds TLS 1.1 and TLS 1.2 to the WCF SSL protocol default list. Wenn sowohl auf dem Client- als auch auf dem Servercomputer .NET Framework 4.6 oder höher installiert ist, wird TLS 1.2 für die Aushandlung verwendet.When both client and server machines have the .NET Framework 4.6 or later installed, TLS 1.2 is used for negotiation.

AuswirkungenImpact

TLS 1.2 unterstützt die MD5-Zertifikatauthentifizierung nicht.TLS 1.2 does not support MD5 certificate authentication. Wenn ein Kunde ein SSL-Zertifikat verwendet, das MD5 als Hashalgorithmus einsetzt, kann der WCF-Client daher keine Verbindung mit dem WCF-Dienst herstellen.As a result, if a customer uses an SSL certificate which uses MD5 for the hash algorithm, the WCF client fails to connect to the WCF service. Weitere Informationen finden Sie unter Entschärfung: WCF-Dienste und Zertifikatauthentifizierung.For more information, see Mitigation: WCF Services and Certificate Authentication.

ProblemumgehungMitigation

Sie können dieses Problem umgehen, sodass ein WCF-Client eine Verbindung mit einem WCF-Server herstellen kann, indem Sie eine der folgenden Aktionen ausführen:You can work around this issue so that a WCF client can connect to a WCF server by doing any of the following:

  • Aktualisieren Sie das Zertifikat so, dass der MD5-Algorithmus nicht verwendet wird.Update the certificate to not use the MD5 algorithm. Dies ist die empfohlene Lösung.This is the recommended solution.

  • Wenn die Bindung im Quellcode nicht dynamisch konfiguriert ist, aktualisieren Sie die Konfigurationsdatei der Anwendung für die Verwendung von TLS 1.1 oder einer früheren Version des Protokolls.If the binding is not dynamically configured in source code, update the application's configuration file to use TLS 1.1 or an earlier version of the protocol. Dadurch können Sie weiterhin ein Zertifikat mit MD5-Hashalgorithmus verwenden.This allows you to continue to use a certificate with the MD5 hash algorithm.

    Achtung

    Diese Problemumgehung wird nicht empfohlen, da ein Zertifikat mit MD5-Hashalgorithmus als unsicher angesehen wird.This workaround is not recommended, since a certificate with the MD5 hash algorithm is considered insecure.

    In der folgenden Konfigurationsdatei wird so vorgegangen:The following configuration file does this:

    <configuration>  
        <system.serviceModel>  
            <bindings>  
                <netTcpBinding>  
                    <binding>  
                        <security mode= "None|Transport|Message|TransportWithMessageCredential" >  
                            <transport clientCredentialType="None|Windows|Certificate"  
                                                protectionLevel="None|Sign|EncryptAndSign"  
                                                sslProtocols="Ssl3|Tls1|Tls11">  
                            </transport>  
                        </security>  
                    </binding>  
                </netTcpBinding>  
            </bindings>  
        </system.ServiceModel>  
    </configuration>  
    
  • Wenn die Bindung im Quellcode dynamisch konfiguriert ist, aktualisieren Sie die TcpTransportSecurity.SslProtocols-Eigenschaft für die Verwendung von TLS 1.1 (SslProtocols.Tls11) oder einer früheren Version des Protokolls im Quellcode.If the binding is dynamically configured in source code, update the TcpTransportSecurity.SslProtocols property to use TLS 1.1 (SslProtocols.Tls11) or an earlier version of the protocol in the source code.

    Achtung

    Diese Problemumgehung wird nicht empfohlen, da ein Zertifikat mit MD5-Hashalgorithmus als unsicher angesehen wird.This workaround is not recommended, since a certificate with the MD5 hash algorithm is considered insecure.

Siehe auchSee Also

Änderungen zur LaufzeitRuntime Changes