Scaidome.OpcUa.Client 1.2.2

The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package Scaidome.OpcUa.Client --version 1.2.2
                    
NuGet\Install-Package Scaidome.OpcUa.Client -Version 1.2.2
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Scaidome.OpcUa.Client" Version="1.2.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Scaidome.OpcUa.Client" Version="1.2.2" />
                    
Directory.Packages.props
<PackageReference Include="Scaidome.OpcUa.Client" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Scaidome.OpcUa.Client --version 1.2.2
                    
#r "nuget: Scaidome.OpcUa.Client, 1.2.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Scaidome.OpcUa.Client@1.2.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Scaidome.OpcUa.Client&version=1.2.2
                    
Install as a Cake Addin
#tool nuget:?package=Scaidome.OpcUa.Client&version=1.2.2
                    
Install as a Cake Tool

Configuration

The client reads Scaidome.OpcUa.Client.Config.xml, which the package copies to the application's output folder. It is read from there whatever the current directory is, so an application started elsewhere, by dotnet run or as a Windows service, finds it. When the output folder has none, the OPC UA SDK looks in the current directory.

Opc UA Security

There's different kind of security.

  • The server authenticates and accepts a client using the clients certificate
  • The client authenticates and accepts a server using the servers certificate
  • Ensuring communication is not tampered with using certificates
  • Encrypting communication to avoid man-in-the-middle snooping

Opc UA Certificates

Opc UA clients and servers both have their own certificates. The trust must be established both ways.

The Scaidome client will try to connect to the server endpoint with the "best" security using CoreClientUtils.SelectEndpoint(() The first time the client will reject the server certificate and put it in rejected/certs. Move the rejected server certificate to trusted/cert, and restart the client. The same procedure must be done for the server, which also will reject the client certificate the first time a session is being connected.

Known public opc ua servers: https://github.com/digitalpetri/opc-ua-demo-server

PKI Certificate Main Folders

  • CommonApplicationData (%PROGRAMDATA% in explorer → C:\ProgramData)
  • LocalApplicationData (%LOCALAPPDATA% in explorer → C:\Users<USERNAME>\AppData\Local)

PKI Certificate Store Structure

  • /pki
    • /own
      • certs/ (server public certificate)
      • private/ (server private key)
    • /rejected
      • certs/ (rejected client certificates)
    • /trusted
      • certs/ (trusted client/CA certificates)
      • crl/ (CRLs for trusted certificates)
    • /issuer
      • certs/ (CA certificates for validation)
      • crl/ (CRLs for issuer CAs)
    • /trustedUser
      • certs/ (trusted user/user CA certificates)
      • crl/ (CRLs for user certificates)
    • /issuerUser
      • certs/ (user CA certificates)
      • crl/ (CRLs for user CA validation)
Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated