diff --git a/sign.snk b/sign.snk
new file mode 100644
index 00000000..029ae872
Binary files /dev/null and b/sign.snk differ
diff --git a/src/Tmds.DBus.Tool/Tmds.DBus.Tool.csproj b/src/Tmds.DBus.Tool/Tmds.DBus.Tool.csproj
index 200cc4f9..16c9718b 100644
--- a/src/Tmds.DBus.Tool/Tmds.DBus.Tool.csproj
+++ b/src/Tmds.DBus.Tool/Tmds.DBus.Tool.csproj
@@ -15,6 +15,9 @@
MIT
Tom Deseyn
Tmds.DBus CLI Tool
+ true
+ ..\..\sign.snk
+ true
diff --git a/src/Tmds.DBus/CodeGen/DynamicAssembly.cs b/src/Tmds.DBus/CodeGen/DynamicAssembly.cs
index 516b4da3..8081977c 100644
--- a/src/Tmds.DBus/CodeGen/DynamicAssembly.cs
+++ b/src/Tmds.DBus/CodeGen/DynamicAssembly.cs
@@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
+using System.IO;
using System.Reflection;
using System.Reflection.Emit;
using System.Runtime.CompilerServices;
@@ -24,8 +25,24 @@ internal class DynamicAssembly
private DynamicAssembly()
{
- _assemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(new AssemblyName(Tmds.DBus.Connection.DynamicAssemblyName), AssemblyBuilderAccess.Run);
- _moduleBuilder = _assemblyBuilder.DefineDynamicModule(Tmds.DBus.Connection.DynamicAssemblyName);
+ byte[] keyBuffer;
+ using (Stream keyStream = typeof(DynamicAssembly).GetTypeInfo().Assembly.GetManifestResourceStream("Tmds.DBus.sign.snk"))
+ {
+ if (keyStream == null)
+ {
+ throw new InvalidOperationException("'Tmds.DBus.sign.snk' not found in resources");
+ }
+ keyBuffer = new byte[keyStream.Length];
+ keyStream.Read(keyBuffer, 0, keyBuffer.Length);
+ }
+
+ var dynamicAssemblyName = "Tmds.DBus.Emit";
+ var assemblyName = new AssemblyName(dynamicAssemblyName);
+ assemblyName.Version = new Version(1, 0, 0);
+ assemblyName.Flags = AssemblyNameFlags.PublicKey;
+ assemblyName.SetPublicKey(keyBuffer);
+ _assemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.Run);
+ _moduleBuilder = _assemblyBuilder.DefineDynamicModule(dynamicAssemblyName);
_proxyTypeMap = new Dictionary();
_adapterTypeMap = new Dictionary();
}
diff --git a/src/Tmds.DBus/Connection.cs b/src/Tmds.DBus/Connection.cs
index 96259b6e..ed68ee96 100644
--- a/src/Tmds.DBus/Connection.cs
+++ b/src/Tmds.DBus/Connection.cs
@@ -30,7 +30,7 @@ private enum ConnectionType
///
/// Assembly name where the dynamically generated code resides.
///
- public const string DynamicAssemblyName = "Tmds.DBus.Emit";
+ public const string DynamicAssemblyName = "Tmds.DBus.Emit, PublicKey=002400000480000094000000060200000024000052534131000400000100010071a8770f460cce31df0feb6f94b328aebd55bffeb5c69504593df097fdd9b29586dbd155419031834411c8919516cc565dee6b813c033676218496edcbe7939c0dd1f919f3d1a228ebe83b05a3bbdbae53ce11bcf4c04a42d8df1a83c2d06cb4ebb0b447e3963f48a1ca968996f3f0db8ab0e840a89d0a5d5a237e2f09189ed3";
private static Connection s_systemConnection;
private static Connection s_sessionConnection;
diff --git a/src/Tmds.DBus/Properties/AssemblyInfo.cs b/src/Tmds.DBus/Properties/AssemblyInfo.cs
index ff695171..2820adfe 100644
--- a/src/Tmds.DBus/Properties/AssemblyInfo.cs
+++ b/src/Tmds.DBus/Properties/AssemblyInfo.cs
@@ -2,4 +2,4 @@
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-[assembly: InternalsVisibleTo("Tmds.DBus.Tests")]
+[assembly: InternalsVisibleTo("Tmds.DBus.Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010071a8770f460cce31df0feb6f94b328aebd55bffeb5c69504593df097fdd9b29586dbd155419031834411c8919516cc565dee6b813c033676218496edcbe7939c0dd1f919f3d1a228ebe83b05a3bbdbae53ce11bcf4c04a42d8df1a83c2d06cb4ebb0b447e3963f48a1ca968996f3f0db8ab0e840a89d0a5d5a237e2f09189ed3")]
diff --git a/src/Tmds.DBus/Tmds.DBus.csproj b/src/Tmds.DBus/Tmds.DBus.csproj
index 5d33ffc7..861bc2e2 100644
--- a/src/Tmds.DBus/Tmds.DBus.csproj
+++ b/src/Tmds.DBus/Tmds.DBus.csproj
@@ -12,6 +12,9 @@
https://github.com/tmds/Tmds.DBus
MIT
Tom Deseyn;Alp Toker
+ true
+ ..\..\sign.snk
+ true
@@ -24,4 +27,7 @@
+
+
+
diff --git a/test/Tmds.DBus.Tests/Tmds.DBus.Tests.csproj b/test/Tmds.DBus.Tests/Tmds.DBus.Tests.csproj
index 6bf8f404..98db80c3 100644
--- a/test/Tmds.DBus.Tests/Tmds.DBus.Tests.csproj
+++ b/test/Tmds.DBus.Tests/Tmds.DBus.Tests.csproj
@@ -2,6 +2,9 @@
netcoreapp3.0
+ true
+ ..\..\sign.snk
+ true
@@ -9,9 +12,9 @@
-
-
-
+
+
+
PreserveNewest