Der Hersteller OPC Foundation hat sein devicebase Profil noch nicht eingerichtet. Inhalte wie Updates, Kompatibilitäten und Support werden unter Umständen nur verzögert gepflegt.
Update

Callback zur Benachrichtigung über die Erneuerung des Kanal-Tokens.

Breaking change

  • Nach einer kürzlich durchgeführten Sicherheitsüberprüfung erzwingen die Https-Server-Endpunkte auf Anfrage die gegenseitige TLS-Authentifizierung und ändern das Verhalten ohne diese.
  • Es wird dringend empfohlen, nur gegenseitige TLS-Authentifizierung zu verwenden. Einige Clients unterstützen das neue Schema möglicherweise noch nicht.
  • Eine neue Konfigurationsvariable
    <httpsmutualtls>true</httpsmutualtls> aktiviert oder deaktiviert die Unterstützung der gegenseitigen TLS-Authentifizierung (Standard: true).

Das Verhalten des https TLS Endpunktes ändert sich entsprechend der folgenden Einstellungen:

HttpsMutualTls ist true

  • Der Server prüft die Vertrauenswürdigkeit des Zertifikats, das vom Client für die TLS-Authentifizierung verwendet wird. Es muss ein gültiges OPC UA Anwendungszertifikat sein, dem vertraut wird.
  • Ein Client kann sich auch ohne Client-Zertifikat verbinden, kann dann aber nur Discovery Services aufrufen.
  • Um eine Sitzung zu erstellen, muss der Client das gleiche Anwendungszertifikat verwenden, das für den TLS-Kanal verwendet wurde.

HttpsMutualTls ist falsch

  • Es findet keine Anwendungsauthentifizierung statt. Der Server-Endpunkt verwendet die Sicherheit None und es findet keine Authentifizierung der Client-Anwendung statt.
  • Stattdessen wird nur die Benutzerauthentifizierung zur Sicherung des Servers verwendet, die anonyme Benutzerauthentifizierung ist deaktiviert.
  • Discovery-Dienstaufrufe werden unterstützt.

Erweiterungen

  • Unterstützt native .NET 9-Assemblies. Ein neuer X509CertificateLoader wurde für ältere .NET-Versionen eingeführt, um den Code ohne ifdef lesbar zu halten.
  • Server GDS Push CreateSigningRequest unterstützt die Regeneration des öffentlich/privaten Schlüsselpaares. von @romanett.
  • Callback zur Benachrichtigung über die Erneuerung des Kanal-Tokens.
  • Server-Erkennungsalgorithmus für Clients, die versuchen, die bekannte Basic128Rsa15-Schwachstelle auszunutzen.

Fehlerbehebungen

  • Client ReadNodes löst einen BadInvalidType aus, wenn ein Wertetyp null zurückgibt.
  • Client-Lesen von großen Wörterbüchern wird in Stücke aufgeteilt. von @ThomasNehring.
  • Gemischte opc.https und https Endpunkte verhindern das Starten eines Servers.
  • Server-Endpunkt-Zertifikate wurden nach GDS Push UpdateCertificate nicht aktualisiert. von @romanett.
  • Ereignisberichte ignorieren Sitzungskontext. von @Filippo-Oliva-ABB.
  • Akzeptiert Namespace Uri, die nicht gut geformt sind. Strengere Handhabung wurde in der vorherigen Version hinzugefügt, aber für IOP ist wieder gelockert.
  • Das Lesen komplexer Typen von einem Server konnte eine Null-Pointer-Exception in BinaryDecoder verursachen. von @marcschier.
  • Das Lesen von Operationslimits konnte eine Exception verursachen (Operationslimits wurden daher ignoriert).
  • CRL mit ungültigem Inhalt konnte zu einer Exception führen, wenn Property mit Lazy Decoding gelesen wurde, CRL immer dekodieren, wenn constructore aufgerufen wird, um Probleme frühzeitig zu erkennen.
  • Kanal-Token HMAC-Referenzen wurden nach einer Kanalerneuerung nicht entsorgt.
  • Erlaubt die Dekodierung von Erweiterungsobjekten, die die Länge auf -1 setzen.
  • Fix für CauseMappings und Fehler in ConditionRefresh/2 von @Archie-Miller

Was sich geändert hat

  • Bump Serilog und System.Diagnostics.DiagnosticSource von @dependabot in #2780
  • Update CauseMappings zur korrekten Unterstützung von Übergängen von @Archie-Miller #2877
  • ConditionRefreshAsync führt immer zu BadNodeIdUnknown von @Archie-Miller #2876
  • [Server] GDS-Push: Enable regeneratePrivatekey for CreateSigningRequest method of Server by @romanett in #2778
  • Client ReadNodes, werfe BadInvalidType, wenn ein von einem Attribut zurückgegebener Werttyp null ist von @mregen in #2746
  • [Client] Große Wörterbücher lesen von @ThomasNehring in #2782
  • Server startet nicht mit gemischten https-Endpunkten von @mregen in #2789
  • #2777 Korrektur für - MonitoredItem2.OnReportEvent ignoriert Sitzung im ISystemContext während des Benachrichtigungsprozesses von @Filippo-Oliva-ABB in #2779
  • Server] Aktualisierung der Endpunktbeschreibungen nach Zertifikatsaktualisierung von @romanett in #2735
  • Verschiebung des geänderten Referenzservers aus dem Unit-Test in eine eigene Datei von @ThomasNehring in #2725
  • #2656 Fix für - Session wird von ClearChangeMasks nicht bereitgestellt, wenn eine Änderung gemeldet wird von @Filippo-Oliva-ABB in #2772
  • Revert "#2656 Fix für - Session wird von ClearChangeMasks nicht zur Verfügung gestellt, wenn... von @mregen in #2792
  • Fix ExpandedNodeId.Format Ausgabe für nicht wohlgeformte uri und JSON Verbose WriteStatusCode von @mregen in #2794
  • Nullpointer-Ausnahme beim Lesen eines komplexen Typs aus umati server.... von @marcschier in #2798
  • ReturnDiagnostics zum Session-Konstruktor hinzufügen von @romanett in #2810
  • IOP: FetchOperationLimits für einige Anwendungsfälle korrigieren by @mregen in #2807
  • Aktualisiere version.json, um Vorschau-Builds von develop zu ermöglichen von @mregen in #2813
  • Behebt Fehler im JSON-Decoder von @mregen in #2828
  • Aktualisiere brokerHostName bevor MqttClientOptionsBuilder dessen Wert verwendet von @mrsuciu in #2830
  • Verbessern der crl-Behandlung in Zertifikatspeichern von @romanett in #2829
  • Die Verwendung von Uri.TryCreate verursacht eine Regression mit Namespace Uri, die gemischte Klein-/Großbuchstaben in der Uri verwenden. by @KircMax in #2837
  • KanalToken: HMAC entsorgen und Lebensdauerberechnung verbessern. von @mregen in #2846
  • Minimaler Mechanismus zur Erkennung von Schurkenclients auf Transportebene hinzugefügt. by @mrsuciu in #2850
  • ValidateRolePermissions für MIs, die den Wert eines Knotens überwachen, von @romanett in #2809
  • [Server] ValidateRolePermissions von MonitoredItems basierend auf der gespeicherten Benutzeridentität, um eine Validierung zu ermöglichen, wenn keine Session vorhanden ist, von @romanett in #2832
  • Unterstützt .NET 9.0 Build von @mregen in #2865
  • Verbesserungen der Client-Performance und des Speichers für JSON-Kodierung und Abonnements von @mregen in #2864
  • Callback registrieren, um über die Aktivierung eines neuen Channel-Tokens zu informieren (#2872) by @marcschier in #2873
  • [Client] Fix: KeepAliveInterval wurde bei ModifySubscription nicht aktualisiert von @romanett in #2871
  • Zusammenführen von Korrekturen aus master in den stabilen Zweig von @mregen in #2878
  • BouncyCastle.Cryptography von 2.4.0 auf 2.5.0 erhöhen von @mregen in #2875
  • Erlaube die Dekodierung von Erweiterungsobjekten für Legacy-Geräte, die die Länge nicht festlegen von @mregen in #2869
  • Aktiviere gegenseitiges tls auf Server https Endpunkten von @mrsuciu in #2849
  • Serialisierung von ApplicationConfiguration /CertificateTrustList reparieren von @romanett in #2879
  • Zusammenführen von develop/main374 in release/1.5.374 von @mregen in #2881
Version: 1.5.374.158 Link
Erhalten Sie wichtige Update-Nachrichten Bleiben Sie auf dem Laufenden für kommende OPC Foundation OPC UA Updates

Waren die Inhalte für Sie hilfreich?

Anzeige Hier werben?
Udemy IT certification ad