diff --git a/ComIOP/Common/Client/Da/ComDaClientNodeManager.cs b/ComIOP/Common/Client/Da/ComDaClientNodeManager.cs
index f203545e5..89497a1f2 100644
--- a/ComIOP/Common/Client/Da/ComDaClientNodeManager.cs
+++ b/ComIOP/Common/Client/Da/ComDaClientNodeManager.cs
@@ -825,7 +825,6 @@ protected override ServiceResult CreateMonitoredItem(ServerSystemContext context
monitoredItem = datachangeItem;
// save the monitored item.
- MonitoredItems.Add(monitoredItemId, datachangeItem);
monitoredNode.Add(datachangeItem);
// report change.
diff --git a/ComIOP/Common/UA COM Interop Library.csproj b/ComIOP/Common/UA COM Interop Library.csproj
index 2f82ee28f..a5684948c 100644
--- a/ComIOP/Common/UA COM Interop Library.csproj
+++ b/ComIOP/Common/UA COM Interop Library.csproj
@@ -265,13 +265,13 @@
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/ComIOP/Wrapper/ServerWrapper/UA COM Server Wrapper.csproj b/ComIOP/Wrapper/ServerWrapper/UA COM Server Wrapper.csproj
index 1dd832e5d..31cd40936 100644
--- a/ComIOP/Wrapper/ServerWrapper/UA COM Server Wrapper.csproj
+++ b/ComIOP/Wrapper/ServerWrapper/UA COM Server Wrapper.csproj
@@ -140,7 +140,7 @@
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Samples/Client.Net4/UA Sample Client.csproj b/Samples/Client.Net4/UA Sample Client.csproj
index 50923e26a..1ea02c816 100644
--- a/Samples/Client.Net4/UA Sample Client.csproj
+++ b/Samples/Client.Net4/UA Sample Client.csproj
@@ -138,7 +138,7 @@
8.0.0
- 1.5.374.78
+ 1.5.374.117-preview
4.3.4
diff --git a/Samples/Client/Opc.Ua.SampleClient.csproj b/Samples/Client/Opc.Ua.SampleClient.csproj
index 1e19c268e..2072d5ffb 100644
--- a/Samples/Client/Opc.Ua.SampleClient.csproj
+++ b/Samples/Client/Opc.Ua.SampleClient.csproj
@@ -158,7 +158,7 @@
6.2.14
- 1.5.373.121
+ 1.5.374.117-preview
4.3.0
diff --git a/Samples/ClientControls.Net4/UA Client Controls.csproj b/Samples/ClientControls.Net4/UA Client Controls.csproj
index 9ae69027d..43d9ce1ed 100644
--- a/Samples/ClientControls.Net4/UA Client Controls.csproj
+++ b/Samples/ClientControls.Net4/UA Client Controls.csproj
@@ -1015,16 +1015,16 @@
- 1.5.374.78
+ 1.5.374.114
- 1.5.374.78
+ 1.5.374.114
- 1.5.374.78
+ 1.5.374.114
- 1.5.374.78
+ 1.5.374.114
diff --git a/Samples/ClientControls/Opc.Ua.Client.Controls.csproj b/Samples/ClientControls/Opc.Ua.Client.Controls.csproj
index 34a89be15..6be0162a1 100644
--- a/Samples/ClientControls/Opc.Ua.Client.Controls.csproj
+++ b/Samples/ClientControls/Opc.Ua.Client.Controls.csproj
@@ -267,7 +267,7 @@
6.2.14
- 1.5.373.121
+ 1.5.374.117-preview
4.3.0
diff --git a/Samples/Controls.Net4/UA Sample Controls.csproj b/Samples/Controls.Net4/UA Sample Controls.csproj
index 9f77705d5..adc52fc9d 100644
--- a/Samples/Controls.Net4/UA Sample Controls.csproj
+++ b/Samples/Controls.Net4/UA Sample Controls.csproj
@@ -708,7 +708,7 @@
- 1.5.374.78
+ 1.5.374.114
diff --git a/Samples/Controls/Opc.Ua.Sample.Controls.csproj b/Samples/Controls/Opc.Ua.Sample.Controls.csproj
index 27df0ad7c..2bf892e72 100644
--- a/Samples/Controls/Opc.Ua.Sample.Controls.csproj
+++ b/Samples/Controls/Opc.Ua.Sample.Controls.csproj
@@ -207,7 +207,7 @@
6.2.14
- 1.5.373.121
+ 1.5.374.117-preview
4.3.0
diff --git a/Samples/GDS/Client/Controls/ApplicationCertificateControl.cs b/Samples/GDS/Client/Controls/ApplicationCertificateControl.cs
index 690ba2f55..042f32479 100644
--- a/Samples/GDS/Client/Controls/ApplicationCertificateControl.cs
+++ b/Samples/GDS/Client/Controls/ApplicationCertificateControl.cs
@@ -336,7 +336,8 @@ private async void CertificateRequestTimer_Tick(object sender, EventArgs e)
};
// update store
- using (ICertificateStore store = CertificateStoreIdentifier.OpenStore(m_application.CertificateStorePath, false))
+ var certificateStoreIdentifier = new CertificateStoreIdentifier(m_application.CertificateStorePath, false);
+ using (ICertificateStore store = certificateStoreIdentifier.OpenStore())
{
// if we used a CSR, we already have a private key and therefore didn't request one from the GDS
// in this case, privateKey is null
@@ -436,7 +437,8 @@ private async void CertificateRequestTimer_Tick(object sender, EventArgs e)
// update trust list.
if (!String.IsNullOrEmpty(m_application.TrustListStorePath))
{
- using (ICertificateStore store = CertificateStoreIdentifier.OpenStore(m_application.TrustListStorePath))
+ var certificateStoreIdentifier = new CertificateStoreIdentifier(m_application.TrustListStorePath);
+ using (ICertificateStore store = certificateStoreIdentifier.OpenStore())
{
foreach (byte[] issuerCertificate in issuerCertificates)
{
diff --git a/Samples/GDS/Client/Controls/ApplicationTrustListControl.cs b/Samples/GDS/Client/Controls/ApplicationTrustListControl.cs
index 1b3b2b69c..a896d3de0 100644
--- a/Samples/GDS/Client/Controls/ApplicationTrustListControl.cs
+++ b/Samples/GDS/Client/Controls/ApplicationTrustListControl.cs
@@ -89,8 +89,8 @@ private void ReloadTrustListButton_Click(object sender, EventArgs e)
}
else
{
- CertificateStoreControl.Initialize(m_trustListStorePath, m_issuerListStorePath, null);
- }
+ CertificateStoreControl.Initialize(m_trustListStorePath, m_issuerListStorePath, null);
+ }
}
else
{
@@ -120,16 +120,12 @@ private async Task DeleteExistingFromStore(string storePath)
return;
}
- using (DirectoryCertificateStore store = (DirectoryCertificateStore) CertificateStoreIdentifier.OpenStore(storePath))
+ var certificateStoreIdentifier = new CertificateStoreIdentifier(storePath);
+ using (var store = certificateStoreIdentifier.OpenStore())
{
X509Certificate2Collection certificates = await store.Enumerate();
foreach (var certificate in certificates)
{
- if (store.GetPrivateKeyFilePath(certificate.Thumbprint) != null)
- {
- continue;
- }
-
List fields = X509Utils.ParseDistinguishedName(certificate.Subject);
if (fields.Contains("CN=UA Local Discovery Server"))
@@ -140,6 +136,11 @@ private async Task DeleteExistingFromStore(string storePath)
if (store is DirectoryCertificateStore ds)
{
+ if (ds.GetPrivateKeyFilePath(certificate.Thumbprint) != null)
+ {
+ continue;
+ }
+
string path = Utils.GetAbsoluteFilePath(m_application.CertificatePublicKeyPath, true, false, false);
if (path != null)
@@ -205,7 +206,8 @@ private void PullFromGds(bool deleteBeforeAdd)
if (!String.IsNullOrEmpty(m_trustListStorePath))
{
- using (ICertificateStore store = CertificateStoreIdentifier.OpenStore(m_trustListStorePath))
+ var certificateStoreIdentifier = new CertificateStoreIdentifier(m_trustListStorePath);
+ using (ICertificateStore store = certificateStoreIdentifier.OpenStore())
{
if ((trustList.SpecifiedLists & (uint)Opc.Ua.TrustListMasks.TrustedCertificates) != 0)
{
@@ -233,7 +235,8 @@ private void PullFromGds(bool deleteBeforeAdd)
if (!String.IsNullOrEmpty(m_application.IssuerListStorePath))
{
- using (ICertificateStore store = CertificateStoreIdentifier.OpenStore(m_application.IssuerListStorePath))
+ var certificateStoreIdentifier = new CertificateStoreIdentifier(m_application.IssuerListStorePath);
+ using (ICertificateStore store = certificateStoreIdentifier.OpenStore())
{
if ((trustList.SpecifiedLists & (uint)Opc.Ua.TrustListMasks.IssuerCertificates) != 0)
{
diff --git a/Samples/GDS/Client/GlobalDiscoveryClient.csproj b/Samples/GDS/Client/GlobalDiscoveryClient.csproj
index f226f3fc2..ed3bd84c8 100644
--- a/Samples/GDS/Client/GlobalDiscoveryClient.csproj
+++ b/Samples/GDS/Client/GlobalDiscoveryClient.csproj
@@ -139,13 +139,10 @@
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
-
-
- 4.3.4
+ 1.5.374.117-preview
diff --git a/Samples/GDS/ClientControls/Controls/TrustListControl.cs b/Samples/GDS/ClientControls/Controls/TrustListControl.cs
index 6a28bb956..1633bbc8d 100644
--- a/Samples/GDS/ClientControls/Controls/TrustListControl.cs
+++ b/Samples/GDS/ClientControls/Controls/TrustListControl.cs
@@ -82,8 +82,8 @@ private enum Status
private ICertificateStore CreateStore(string storePath)
{
- ICertificateStore store = CertificateStoreIdentifier.CreateStore(CertificateStoreIdentifier.DetermineStoreType(storePath));
- store.Open(storePath);
+ CertificateStoreIdentifier certificateStoreIdentifier = new CertificateStoreIdentifier(storePath);
+ ICertificateStore store = certificateStoreIdentifier.OpenStore();
return store;
}
diff --git a/Samples/GDS/ClientControls/GlobalDiscoveryClientControls.csproj b/Samples/GDS/ClientControls/GlobalDiscoveryClientControls.csproj
index 1837fedd0..4db73024e 100644
--- a/Samples/GDS/ClientControls/GlobalDiscoveryClientControls.csproj
+++ b/Samples/GDS/ClientControls/GlobalDiscoveryClientControls.csproj
@@ -217,10 +217,10 @@
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Samples/GDS/ConsoleServer/NetCoreGlobalDiscoveryServer.csproj b/Samples/GDS/ConsoleServer/NetCoreGlobalDiscoveryServer.csproj
index 7c57d95fa..7c7ac20e6 100644
--- a/Samples/GDS/ConsoleServer/NetCoreGlobalDiscoveryServer.csproj
+++ b/Samples/GDS/ConsoleServer/NetCoreGlobalDiscoveryServer.csproj
@@ -14,8 +14,8 @@
-
-
+
+
diff --git a/Samples/GDS/ConsoleServer/Program.cs b/Samples/GDS/ConsoleServer/Program.cs
index 949750df2..d118781e3 100644
--- a/Samples/GDS/ConsoleServer/Program.cs
+++ b/Samples/GDS/ConsoleServer/Program.cs
@@ -167,20 +167,22 @@ public void Run()
return;
}
- ManualResetEvent quitEvent = new ManualResetEvent(false);
- try
- {
- Console.CancelKeyPress += (sender, eArgs) => {
- quitEvent.Set();
- eArgs.Cancel = true;
- };
- }
- catch
+ using (ManualResetEvent quitEvent = new ManualResetEvent(false))
{
- }
+ try
+ {
+ Console.CancelKeyPress += (sender, eArgs) => {
+ quitEvent.Set();
+ eArgs.Cancel = true;
+ };
+ }
+ catch
+ {
+ }
- // wait for timeout or Ctrl-C
- quitEvent.WaitOne();
+ // wait for timeout or Ctrl-C
+ quitEvent.WaitOne();
+ }
if (server != null)
{
@@ -318,18 +320,18 @@ void PrintSessionStatus(Session session, string reason, bool lastContact = false
{
lock (session.DiagnosticsLock)
{
- string item = String.Format("{0,9}:{1,20}:", reason, session.SessionDiagnostics.SessionName);
+ string item = Utils.Format("{0,9}:{1,20}:", reason, session.SessionDiagnostics.SessionName);
if (lastContact)
{
- item += String.Format("Last Event:{0:HH:mm:ss}", session.SessionDiagnostics.ClientLastContactTime.ToLocalTime());
+ item += Utils.Format("Last Event:{0:HH:mm:ss}", session.SessionDiagnostics.ClientLastContactTime.ToLocalTime());
}
else
{
if (session.Identity != null)
{
- item += String.Format(":{0,20}", session.Identity.DisplayName);
+ item += Utils.Format(":{0,20}", session.Identity.DisplayName);
}
- item += String.Format(":{0}", session.Id);
+ item += Utils.Format(":{0}", session.Id);
}
Console.WriteLine(item);
}
diff --git a/Samples/GDS/Server/DB/gdsdb.edmx b/Samples/GDS/Server/DB/gdsdb.edmx
index 7ecdec294..0b3d00a0f 100644
--- a/Samples/GDS/Server/DB/gdsdb.edmx
+++ b/Samples/GDS/Server/DB/gdsdb.edmx
@@ -130,7 +130,9 @@
-
+
+
+
@@ -276,7 +278,9 @@
-
+
+
+
diff --git a/Samples/GDS/Server/DB/gdsdb.edmx.sql b/Samples/GDS/Server/DB/gdsdb.edmx.sql
index 32d4e196f..8bfd66732 100644
--- a/Samples/GDS/Server/DB/gdsdb.edmx.sql
+++ b/Samples/GDS/Server/DB/gdsdb.edmx.sql
@@ -32,6 +32,9 @@ GO
IF OBJECT_ID(N'[dbo].[FK_CertificateRequests_Applications]', 'F') IS NOT NULL
ALTER TABLE [dbo].[CertificateRequests] DROP CONSTRAINT [FK_CertificateRequests_Applications];
GO
+IF OBJECT_ID(N'[dbo].[CertificateStoreApplication]', 'F') IS NOT NULL
+ ALTER TABLE [dbo].[CertificateStores] DROP CONSTRAINT [CertificateStoreApplication]
+GO
-- --------------------------------------------------
-- Dropping existing tables
@@ -204,7 +207,7 @@ ADD CONSTRAINT [FK_CertificateStoreApplication]
FOREIGN KEY ([Application_ID])
REFERENCES [dbo].[Applications]
([ID])
- ON DELETE NO ACTION ON UPDATE NO ACTION;
+ ON DELETE CASCADE ON UPDATE NO ACTION;
GO
-- Creating non-clustered index for FOREIGN KEY 'FK_CertificateStoreApplication'
diff --git a/Samples/GDS/Server/GlobalDiscoveryServer.csproj b/Samples/GDS/Server/GlobalDiscoveryServer.csproj
index c78ccb6ac..f89e49d73 100644
--- a/Samples/GDS/Server/GlobalDiscoveryServer.csproj
+++ b/Samples/GDS/Server/GlobalDiscoveryServer.csproj
@@ -235,10 +235,10 @@
6.5.1
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Samples/GDS/Server/Opc.Ua.GlobalDiscoveryServer.Config.xml b/Samples/GDS/Server/Opc.Ua.GlobalDiscoveryServer.Config.xml
index 0f5992dbe..b4bb1f133 100644
--- a/Samples/GDS/Server/Opc.Ua.GlobalDiscoveryServer.Config.xml
+++ b/Samples/GDS/Server/Opc.Ua.GlobalDiscoveryServer.Config.xml
@@ -136,7 +136,7 @@
Default
RsaSha256ApplicationCertificateType
- CN=IOP-2017 CA, O=OPC Foundation
+ CN=IOP-2024 CA, O=OPC Foundation
%CommonApplicationData%/OPC Foundation/GDS/PKI/CA/default
12
2048
diff --git a/Samples/Opc.Ua.Sample/Opc.Ua.Sample.csproj b/Samples/Opc.Ua.Sample/Opc.Ua.Sample.csproj
index 88a8febaf..a9485c8e4 100644
--- a/Samples/Opc.Ua.Sample/Opc.Ua.Sample.csproj
+++ b/Samples/Opc.Ua.Sample/Opc.Ua.Sample.csproj
@@ -23,8 +23,8 @@
-
-
+
+
diff --git a/Samples/ReferenceClient/Reference Client.csproj b/Samples/ReferenceClient/Reference Client.csproj
index d0500fbb3..2507791ee 100644
--- a/Samples/ReferenceClient/Reference Client.csproj
+++ b/Samples/ReferenceClient/Reference Client.csproj
@@ -127,16 +127,16 @@
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Samples/ReferenceServer/Reference Server.csproj b/Samples/ReferenceServer/Reference Server.csproj
index 41a8be573..8e4109f15 100644
--- a/Samples/ReferenceServer/Reference Server.csproj
+++ b/Samples/ReferenceServer/Reference Server.csproj
@@ -139,13 +139,13 @@
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
4.0.0
diff --git a/Samples/Server.Net4/UA Sample Server.csproj b/Samples/Server.Net4/UA Sample Server.csproj
index 91e31974c..649600d0e 100644
--- a/Samples/Server.Net4/UA Sample Server.csproj
+++ b/Samples/Server.Net4/UA Sample Server.csproj
@@ -146,7 +146,7 @@
8.0.0
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Samples/Server/Opc.Ua.SampleServer.csproj b/Samples/Server/Opc.Ua.SampleServer.csproj
index e9bb5d22d..c19b61464 100644
--- a/Samples/Server/Opc.Ua.SampleServer.csproj
+++ b/Samples/Server/Opc.Ua.SampleServer.csproj
@@ -158,7 +158,7 @@
6.2.14
- 1.5.373.121
+ 1.5.374.117-preview
4.3.0
diff --git a/Samples/ServerControls.Net4/UA Server Controls.csproj b/Samples/ServerControls.Net4/UA Server Controls.csproj
index 2896fee32..5237cb82b 100644
--- a/Samples/ServerControls.Net4/UA Server Controls.csproj
+++ b/Samples/ServerControls.Net4/UA Server Controls.csproj
@@ -148,13 +148,13 @@
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Samples/XamarinClient/XamarinClient/UA Xamarin Client.csproj b/Samples/XamarinClient/XamarinClient/UA Xamarin Client.csproj
index 8c1d179b7..d04f253cb 100644
--- a/Samples/XamarinClient/XamarinClient/UA Xamarin Client.csproj
+++ b/Samples/XamarinClient/XamarinClient/UA Xamarin Client.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/Workshop/Aggregation/Client/Aggregation Client.csproj b/Workshop/Aggregation/Client/Aggregation Client.csproj
index 140f08440..283130794 100644
--- a/Workshop/Aggregation/Client/Aggregation Client.csproj
+++ b/Workshop/Aggregation/Client/Aggregation Client.csproj
@@ -134,7 +134,7 @@
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Workshop/Aggregation/ConsoleAggregationServer/ConsoleAggregationServer.csproj b/Workshop/Aggregation/ConsoleAggregationServer/ConsoleAggregationServer.csproj
index 7ea8d9d7d..52a28a002 100644
--- a/Workshop/Aggregation/ConsoleAggregationServer/ConsoleAggregationServer.csproj
+++ b/Workshop/Aggregation/ConsoleAggregationServer/ConsoleAggregationServer.csproj
@@ -41,16 +41,16 @@
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/Workshop/Aggregation/Server/Aggregation Server.csproj b/Workshop/Aggregation/Server/Aggregation Server.csproj
index 70914d1b5..4ebed9165 100644
--- a/Workshop/Aggregation/Server/Aggregation Server.csproj
+++ b/Workshop/Aggregation/Server/Aggregation Server.csproj
@@ -129,16 +129,16 @@
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Workshop/Aggregation/Server/Quickstarts.AggregationServer.Config.xml b/Workshop/Aggregation/Server/Quickstarts.AggregationServer.Config.xml
index df2914710..c7e7e7d65 100644
--- a/Workshop/Aggregation/Server/Quickstarts.AggregationServer.Config.xml
+++ b/Workshop/Aggregation/Server/Quickstarts.AggregationServer.Config.xml
@@ -155,7 +155,7 @@
20
100
10000
-
+
http://opcfoundation.org/UA-Profile/Server/StandardUA2017
@@ -231,7 +231,7 @@
true
0
-
+
@@ -36,11 +36,11 @@
%CommonApplicationData%\OPC Foundation\pki\rejected
- true
+ true
-
+
-
+
600000
1048576
@@ -83,5 +83,5 @@
-
+
\ No newline at end of file
diff --git a/Workshop/SimpleEvents/Server/SimpleEvents Server.csproj b/Workshop/SimpleEvents/Server/SimpleEvents Server.csproj
index 312402288..7536eaa9c 100644
--- a/Workshop/SimpleEvents/Server/SimpleEvents Server.csproj
+++ b/Workshop/SimpleEvents/Server/SimpleEvents Server.csproj
@@ -137,7 +137,7 @@
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Workshop/UserAuthentication/Client/UserAuthentication Client.csproj b/Workshop/UserAuthentication/Client/UserAuthentication Client.csproj
index 57225fa54..7c8631e3b 100644
--- a/Workshop/UserAuthentication/Client/UserAuthentication Client.csproj
+++ b/Workshop/UserAuthentication/Client/UserAuthentication Client.csproj
@@ -125,7 +125,7 @@
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Workshop/UserAuthentication/Server/UserAuthentication Server.csproj b/Workshop/UserAuthentication/Server/UserAuthentication Server.csproj
index 4f49a8721..aa393799c 100644
--- a/Workshop/UserAuthentication/Server/UserAuthentication Server.csproj
+++ b/Workshop/UserAuthentication/Server/UserAuthentication Server.csproj
@@ -154,7 +154,7 @@
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Workshop/Views/Client/Views Client.csproj b/Workshop/Views/Client/Views Client.csproj
index 65f5acc24..f241851f1 100644
--- a/Workshop/Views/Client/Views Client.csproj
+++ b/Workshop/Views/Client/Views Client.csproj
@@ -131,7 +131,7 @@
- 1.5.374.78
+ 1.5.374.117-preview
diff --git a/Workshop/Views/Server/Views Server.csproj b/Workshop/Views/Server/Views Server.csproj
index 0baa585a9..f94b02d3c 100644
--- a/Workshop/Views/Server/Views Server.csproj
+++ b/Workshop/Views/Server/Views Server.csproj
@@ -145,7 +145,7 @@
- 1.5.374.78
+ 1.5.374.117-preview