diff options
author | jfrijters <jfrijters> | 2008-09-18 09:34:30 +0400 |
---|---|---|
committer | jfrijters <jfrijters> | 2008-09-18 09:34:30 +0400 |
commit | 79dc215a6b75dc085a5587ec6734692c1435f4d7 (patch) | |
tree | 075964796b6079b29fdaadf4e7d5922a32af81aa | |
parent | e3b83e67f671b70ad7cdb7ea918f8d921b9fd3ec (diff) |
Added tool to extract public key from ikvm-key container into tools/pubkey.txt.
-rw-r--r-- | ikvm.build | 2 | ||||
-rw-r--r-- | tools/pubkey.cs | 49 | ||||
-rw-r--r-- | tools/tools.build | 11 |
3 files changed, 62 insertions, 0 deletions
@@ -34,6 +34,8 @@ <include name="bin/ikvmstub.exe" /> <include name="bin/JVM.DLL" /> <include name="tools/asmref.exe" /> + <include name="tools/pubkey.exe" /> + <include name="tools/pubkey.txt" /> <include name="native/Release/ikvm-native.dll" /> <include name="native/Release/*.obj" /> </fileset> diff --git a/tools/pubkey.cs b/tools/pubkey.cs new file mode 100644 index 00000000..491fe8ec --- /dev/null +++ b/tools/pubkey.cs @@ -0,0 +1,49 @@ +/* + Copyright (C) 2008 Jeroen Frijters + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jeroen Frijters + jeroen@frijters.net + +*/ + +using System; +using System.IO; +using System.Text; +using System.Reflection; + +#if SIGNCODE + #pragma warning disable 1699 + [assembly: AssemblyKeyName("ikvm-key")] +#endif + +class PublicKey +{ + static void Main(string[] args) + { + StringBuilder sb = new StringBuilder(); + foreach (byte b in Assembly.GetExecutingAssembly().GetName().GetPublicKey()) + { + sb.AppendFormat("{0:X2}", b); + } + using (StreamWriter sw = new StreamWriter("pubkey.txt")) + { + sw.Write(sb); + } + } +} diff --git a/tools/tools.build b/tools/tools.build index 4c404246..c9883ab4 100644 --- a/tools/tools.build +++ b/tools/tools.build @@ -6,5 +6,16 @@ <include name="asmref.cs" /> </sources> </csc> + + <if test="${property::exists('signed')}"> + <property name="defs" value="${signed}" /> + </if> + <property overwrite="false" name="defs" value="" /> + <csc target="exe" output="pubkey.exe" define="${defs}" optimize="true" rebuild="true"> + <sources> + <include name="pubkey.cs" /> + </sources> + </csc> + <exec program="pubkey.exe" useruntimeengine="true" /> </target> </project> |