Re: Unable to code sign metakit based tcl exe
Pat Thoyts <[email protected]> Mon, 7 Sep 2009 12:45:17 +0100
| Newsgroups | gmane.comp.lang.tcl.starkit |
|---|---|
| Message-ID | <[email protected]> |
2009/9/7 Harsh <[email protected]>: > When I code-sign a metakit based tcl interpreter, the tcl exe fails to > load the metakit. > > Metakit seeks to the end of the binary to locate the terminating > metakit signature and the size of the metakit image. Metakit looks at > the end of the specified database for information about the remainder > of the db and in theory you can feed it an offset from the end. > However when I created a version that used an offset it failed and I > never was able to make a metakit-based tclkit that could be signed. > > Please let me know your suggestions for getting around this problem? > > Harsh There is no solution for this using a tclkit executable that has Metakit as the database access library. If you use a tclkit executable that has vlerq as the database reading component then you can sign a starpack and it will work. Vlerq is a different library that can read metakit databases without requiring C++. If you create a simple virtual filesystem (hello.vfs/main.tcl) and maybe add in some extensions under (hello.vfs/lib/*) then wrap it into a starpack using tclkit-gui as the executable you can sign it. ie: tclkitsh sdx.kit wrap hello.exe -runtime tclkit-gui.exe signtool sign /n "Your Certificate Name" hello.exe (Although you should add a timestamp too as mentioned previously). There are some prebuilt tclkit executables using vlerq at http://www.patthoyts.tk/tclkit/ -- read the readme file but *-gui.exe and *-cli.exe are vlerq based. You can obtain the sourcecode to build it all. Some is at http://tclkit.googlecode.com/ (vlerq and sdx) and what I use is at http://www.patthoyts.tk/gitweb.cgi?p=kitgen;a=summary although it needs work on how to setup the various sub-projects to build it. In brief: you need to use a vlerq-based executable if you want to code-sign a starpack. Pat Thoyts