Microsoft Dynamics 365 Customer Engagement (online) zur Anforderung von TLS 1.2 für konnektivität

In Dynamics 365 (Online)-Version 9.x und Dynamics 365 (online) Government-Version 8.2 werden wir damit beginnen, Verbindungen mit Kundenbindungsanwendungen zu erfordern, um TLS 1.2 (oder höher) Sicherheit zu nutzen. Dies entspricht den aktualisierten Sicherheitsrichtlinien und bewährten Methoden von Microsoft und der Branche, und Möglicherweise müssen Sie Maßnahmen ergreifen, um die Konnektivität mit Dynamics 365 Customer Engagement-Anwendungen aufrechtzuerhalten. Überprüfen Sie die folgenden Informationen, um festzustellen, ob Sie betroffen sind und welche Schritte Sie möglicherweise ausführen müssen.

Gilt für: Microsoft Dynamics 365
Ursprüngliche KB-Nummer: 4051700

Was ist TLS?

TLS steht für Transport Layer Security und ist ein Protokoll, bei dem es sich um einen Industriestandard handelt, der entwickelt wurde, um die Privatsphäre von Informationen zu schützen, die über das Internet übermittelt werden. TLS wird in vielen Webbrowsern und Anwendungen verwendet, die über HTTPS und TCP kommunizieren.

Was ändert sich?

Heute unterstützen alle Dynamics 365 Customer Engagement-Onlineversionen TLS 1.0, 1.1 und 1.2, aber ab der Veröffentlichung von Dynamics 365 (Online)-Version 9.x und Dynamics 365 (online) Government Version 8.2 werden wir damit beginnen, Verbindungen mit dem aktualisierten Produkt von Clients oder Browsern zu blockieren, die TLS 1.0 und 1.1 verwenden.

Hinweis

Diese Änderung wirkt sich nur auf Microsoft Dynamics 365 Online Customer Engagement aus, nicht auf lokale Versionen.

Wie werden Sie oder Ihre Kunden betroffen sein?

Alle Verbindungen mit Dynamics 365 (Online)-Version 9.x oder Dynamics 365 (online) Government Version 8.2 schlagen fehl, wenn sie nicht das TLS 1.2-Sicherheitsprotokoll verwenden. Dies wirkt sich auf mehrere Dynamics-Dienste (unten aufgeführt) aus, einschließlich des Zugriffs auf die Dynamics 365 Customer Engagement-Webanwendung.

Wie können Sie oder Ihre Kunden vermeiden, dass sie betroffen sind?

Für unterstützte Webbrowser

Alle unterstützten Browser für Dynamics 365 Customer Engagement (Versionen 7.x bis Version 9.x) entsprechen derzeit den TLS 1.2-Standards und funktionieren weiterhin wie zuvor. Wenn Sie jedoch das TLS 1.2-Protokoll in Ihrem Browser deaktiviert haben, sind Sie betroffen und verlieren die Konnektivität mit Organisationen.

Für Entwicklertools, die von Microsoft bereitgestellt werden

In der Dokumentation zu Den Neuerungen für Customer Engagement-Entwickler in Version 9.0 finden Sie die neuesten Informationen zu unseren Entwicklertools. Aktualisieren Sie von NuGet auf die neueste Version der Tools, die in der Entwicklung verwendet werden. Beispiele für Entwicklertools sind das Plug-In-Registrierungstool und das Konfigurationsmigrationstool. Version 9.0 dieser Tools ist abwärtskompatibel und kann für Dynamics 365 (online) Version 8.2 Government verwendet werden.

Für Code, der mit dem Dynamics 365 SDK erstellt wurde

Kompilieren Sie Ihre Clientanwendungen mit .NET Framework 4.6.2 oder höher neu. Wenn Ihr Code bereits mit .NET 4.6.2 oder höher kompiliert wurde, ist keine Aktion erforderlich. Für benutzerdefinierte Plug-Ins und Workflowassemblys sollte .NET 4.5.2 weiterhin verwendet werden.

Bekanntes Problem mit Visual Studio 2015

Wenn Sie Ihr Projekt/Ihre Projektmappe in Visual Studio 2015 im Debugmodus ausführen, liegt ein bekanntes Problem vor, bei dem Sie möglicherweise keine Verbindung mit Dynamics 365 (Online)-Version 9.x oder Dynamics 365 (online) Version 8.2 Government herstellen können. Dies geschieht unabhängig davon, ob Sie ein Zielframework von 4.6.2 oder höher verwenden. Dies kann auftreten, weil der Visual Studio-Hostingprozess für .NET 4.5 kompiliert wird, was bedeutet, dass TLS 1.2 standardmäßig nicht unterstützt wird. Sie können den Visual Studio-Hostingprozess als Problemumgehung deaktivieren. Klicken Sie in Visual Studio mit der rechten Maustaste auf den Namen Ihres Projekts, und klicken Sie dann auf Eigenschaften. Auf der Registerkarte Debuggen können Sie die Option Visual Studio-Hostingprozess aktivieren deaktivieren.

Hinweis

Dies wirkt sich nur auf die Debugerfahrung in Visual Studio 2015 aus. Dies wirkt sich nicht auf die erstellten Binärdateien oder ausführbaren Dateien aus. Das gleiche Problem tritt nicht in Visual Studio 2017 auf.

Ein wichtiger Hinweis für .NET-basierte Apps

Sie können das TLS 1.2-Protokoll mit dem folgenden Befehl erzwingen:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

Dies erzwingt jederzeit das TLS 1.2-Sicherheitsprotokoll. Dies wird nicht empfohlen, da Sie das Risiko haben, dies aktualisieren zu müssen, wenn ein neueres Sicherheitsprotokoll von der Branche eingeführt wird.

Für vorhandenen Code, der nicht neu kompiliert werden kann

Sie können eine Registrierungseinstellung unter Windows verwenden, die .NET erzwingt, den höchstmöglichen Sicherheitsstandard zu verwenden.

Hinweis

Dies ist eine computerweite Einstellung und kann unerwünschte Auswirkungen haben. Es wird empfohlen, dass Sie oder Ihr Kunde die Methode der Neukompilierung auf .NET 4.6.2 oder höher verwenden.

Informationen zum Aktualisieren der Registrierungseinstellungen, die .NET 4.5.2 erzwingen, tls 1.2 computerweit zu bevorzugen, sind im Artikel Microsoft-Sicherheitsempfehlung 2960358 dokumentiert. Weitere Informationen finden Sie im Abschnitt Vorgeschlagene Aktionen unter "Manuelles Deaktivieren von RC4 in TLS auf Systemen, auf denen .NET Framework 4.5/4.5.1/4.5.2 ausgeführt wird".

Für Nicht-.NET-Software

Wenden Sie sich an Ihren Anbieter, um zu erfahren, wie Tls 1.2 aktiviert wird. In den meisten Sprachen kann dies mit einem einfachen Konfigurationseintrag erfolgen.

Für PowerShell

Fügen Sie [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.SecurityProtocolType]::Tls12 Ihrem PowerShell-Skript hinzu, bevor Sie aufrufen Get-CrmConnection.

Für Dynamics 365 für Microsoft Outlook

Dynamics 365 (online) Government Version 8.2 und Dynamics 365 (online) Version 9.x

Für Unified Service Desk (USD)

Laden Sie die neueste Version von Unified Service Desk herunter (Versionen 3.1, 3.2 und 3.3 sind TLS 1.2-kompatibel).

Wenn Sie weiterhin ältere Versionen von Unified Service Desk verwenden möchten, müssen Sie die Registrierungseinträge des Clientdesktops aktualisieren.

Für Dynamics 365 für die Berichtserstellung

Dynamics 365 (online) Government Version 8.2

Dynamics 365 (online) Version 9.x

  • Laden Sie Version 9.0 herunter, und installieren Sie sie.

Für Dynamics 365 für Email Router

Dynamics 365 (online) Government Version 8.2

Dynamics 365 (online) Version 9.x

  • Laden Sie Version 9.0 herunter, und installieren Sie sie.

Beispielfehler

Im Folgenden finden Sie einige potenzielle Konnektivitätsfehler, die bei Verwendung des Nicht-TLS 1.2-Sicherheitsprotokolls auftreten können:

Browserfehler

"Es kann keine sichere Verbindung mit dieser Seite hergestellt werden.
Dies kann daran zurückzuführen sein, dass die Website veraltete oder unsichere TLS-Sicherheitseinstellungen verwendet. Dies geschieht weiterhin, versuchen Sie, den Besitzer der Website zu kontaktieren."

Connectorfehler

"Microsoft.Xrm.Tooling.CrmConnectControl Information: 8 : Anmeldestatus in Connect ist = Überprüfen der Verbindung mit Microsoft Dynamics CRM...

Microsoft.Xrm.Tooling.Connector.CrmServiceClient-Fehler: 2 : FEHLER BEIM ANFORDERN des Tokens AUS DEM Authentifizierungskontext

Microsoft.Xrm.Tooling.Connector.CrmServiceClient-Fehler: 2 : Quelle : mscorlib

Methode: ThrowIfExceptional

Fehler: Mindestens ein Fehler ist aufgetreten.

Stapelüberwachung : at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)

at System.Threading.Tasks.Task'1.GetResultCore(Boolean waitCompletionNotification)

at System.Threading.Tasks.Task'1.get_Result()

at Microsoft.Xrm.Tooling.Connector.CrmWebSvc.ExecuteAuthenticateServiceProcess(Uri serviceUrl, ClientCredentials clientCredentials, UserIdentifier User, String clientId, Uri redirectUri, PromptBehavior promptBehavior, String tokenCachePath, Boolean isOnPrem, String authority, Uri& targetServiceUrl, AuthenticationContext& authContext, String& Ressource)

Innere Ausnahmeebene 1:

Quelle: Microsoft.IdentityModel.Clients.ActiveDirectory

Methode: Schließen

Fehler: Der Objektverweis ist nicht auf eine instance eines Objekts festgelegt.

Stack Trace : at Microsoft.IdentityModel.Clients.ActiveDirectory.HttpWebResponseWrapper.Close()

unter Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationParameters.<CreateFromResourceUrlCommonAsync>d__0.MoveNext()

--- Ende der Stapelüberwachung vom vorherigen Speicherort, an dem die Ausnahme ---

unter System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

unter Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationParameters.<CreateFromResourceUrlAsync>d__8.MoveNext()"

Entwicklungstools Fehler

"Innere Ausnahmeebene 1 :

Quelle: System

Methode: GetResponse

Fehler : Die zugrunde liegende Verbindung wurde geschlossen: Bei einem Senden ist ein unerwarteter Fehler aufgetreten.

Stack Trace : at System.Net.HttpWebRequest.GetResponse()

unter System.ServiceModel.Description.MetadataExchangeClient.MetadataLocationRetriever.DownloadMetadata(TimeoutHelper timeoutHelper)

at System.ServiceModel.Description.MetadataExchangeClient.MetadataRetriever.Retrieve(TimeoutHelper timeoutHelper)

Innere Ausnahmeebene 2:

Quelle: System

Methode: Read

Fehler: Daten können nicht aus der Transportverbindung gelesen werden: Eine vorhandene Verbindung wurde vom Remotehost zwangsgesperrt.

Stapelüberwachung: bei System.Net.Sockets.NetworkStream.Read(Byte[]-Puffer, Int32-Offset, Int32-Größe)

at System.Net.FixedSizeReader.ReadPacket(Byte[] buffer, Int32 offset, Int32 count)

at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)"

Weitere Informationen