From 4c725ca4c1bd9689ab68b555d28a8fd82d01c265 Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Sat, 26 Jun 2021 01:18:22 +0200 Subject: [PATCH] Added README file. --- .gitignore | 1 + README.md | 130 ++++++++++++++++++++++++++++++++++++ deps/build-openssl-linux.sh | 0 deps/build-openssl-mingw.sh | 0 etc/img/Logo.png | Bin 0 -> 104407 bytes etc/style/gh-pandoc.min.css | 1 + mk-docs.cmd | 12 ++++ src/codesign_keygen.c | 8 ++- src/codesign_sign.c | 6 ++ src/codesign_verify.c | 8 ++- src/common.h | 1 + 11 files changed, 165 insertions(+), 2 deletions(-) create mode 100644 README.md mode change 100644 => 100755 deps/build-openssl-linux.sh mode change 100644 => 100755 deps/build-openssl-mingw.sh create mode 100644 etc/img/Logo.png create mode 100644 etc/style/gh-pandoc.min.css create mode 100644 mk-docs.cmd diff --git a/.gitignore b/.gitignore index f290326..a0b785e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +/*.html /bin /deps/**/* /obj diff --git a/README.md b/README.md new file mode 100644 index 0000000..5e0faf8 --- /dev/null +++ b/README.md @@ -0,0 +1,130 @@ +--- +title: "![CodeSign](etc/img/Logo.png)" +--- + + +Introduction +============ + +**CodeSign** is a simple file signing and verification toolkit, based on cryptographic routines from the Libcrypto (OpenSSL) library. + +At this time, CodeSign employs the RSA signature algorithm with 15360-Bit keys and the SHA-512 hash function. + +This software was created by LoRd_MuldeR [<MuldeR2@GMX.de>](mailto:MuldeR2@GMX.de). Please see for additional information. + + +Synopsis +======== + +The CodeSign suite is composed of the following tools: + +Key Generator +------------- + +The **key generator** tool is used to generate a new key-pair. It creates the *public key* and the *private key* file. The private key will be protected by the specified *password*. + +``` +Usage: + codesign_keygen.exe +``` + +File Signer +----------- + +The **file signer** tool is used to create a new signature. It creates the *signature* file for the specified *input* (original) file, using the existing *private key* protected by *password*. + +``` +Usage: + codesign_sign.exe +``` + +File Verifier +------------- + +The **file verifier** tool is used to check whether the specified *signature* file is valid *and* matches the given (possibly tampered) *input* file, using the specified *public key*. + +``` +Usage: + codesign_verify.exe +``` + +There is an alternative variant of the *file verifier* tool that uses an "embedded" public key (from the file's resources) and therefore does ***not*** need a separate *public key* file. + +``` +Usage: + codesign_verifz.exe +``` + + +Embedding the Public Key +======================== + +In order to use the **file verifier** tool with an *embedded* public key (`codesign_verifz.exe`), the *public key* must be added to the file's resource section first: + +* It is recommended to use the [Resource Hacker™](http://www.angusj.com/resourcehacker/) utility for adding resources to the executable file. Use command *"Action"* → *"Add Image or Other Binary Resource"*. + +* The *public* RSA key, in OpenSSL PEM format, shall be embedded as a resource of type `RT_RCDATA` with the name **`RSA_PUBLIC_KEY`**. + +* The SHA-512 digest of the *public* RSA key, in "raw" (binary) format, shall be embedded as a resource of type `RT_RCDATA` with the name **`CHECKSUM_SHA512`**. + + OpenSSL command to generate the required SHA-512 digest: + ``` + openssl.exe dgst -sha512 -binary -out signkey.pub.sha512 signkey.pub + ``` + + +Quick Start Guide +================= + +1. First of all, generate your RSA key-pair, if not already done: + + ``` + codesign_keygen.exe your-password-here signkey.pub signkey.key + ``` + + **Note:** This step is required only *once*. The same key-pair can be used to sign *many* files. Keep the *private* key (and the password) confidential! + +2. Sign the file to be distributed, using the previously generated private key: + + ``` + codesign_sign.exe your-password-here signkey.key my-installer.exe my-installer.exe.sig + ``` + + **Note:** The generated signature file shall be distributed alongside with the signed file. The *private key* ***must not*** be distributed under any circumstances! + +3. Verify the retrieved (e.g. downloaded) file: + + ``` + codesign_verify.exe signkey.pub my-installer.exe my-installer.exe.sig + ``` + + **Note:** This step is used to verify that the retrieved file was signed by the original author and that it was ***not*** tampered with since it was signed. + + +Passing the Password +==================== + +Passing the password directly on the command-line is **not** recommended for security reasons! + +The password can be passed to the CodeSign tools via pipe instead. Setting the password to `-` will cause the program to read the password from the standard input stream: + +* For example, the password can be read from a password file: + + ``` + codesign_keygen.exe - signkey.pub signkey.key < password.txt + ``` + +* Alternatively, the **`passentry.exe`** helper application can be used to display a simple passwort entry dialog to the user: + + ``` + passentry.exe | codesign_keygen.exe - signkey.pub signkey.key + ``` + + +License +======= + +This work has been released under the **CC0 1.0 Universal** license. + +For details, please refer to: + diff --git a/deps/build-openssl-linux.sh b/deps/build-openssl-linux.sh old mode 100644 new mode 100755 diff --git a/deps/build-openssl-mingw.sh b/deps/build-openssl-mingw.sh old mode 100644 new mode 100755 diff --git a/etc/img/Logo.png b/etc/img/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..22b4085501ca919c58ab5971cfc771db955efa42 GIT binary patch literal 104407 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 yN9; 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 Wf{(3l7%yo60000h2:first-child{margin-top:0;padding-top:0}body>h1:first-child{margin-top:0;padding-top:0}body>h1:first-child+h2{margin-top:0;padding-top:0}body>h3:first-child,body>h4:first-child,body>h5:first-child,body>h6:first-child{margin-top:0;padding-top:0}a:first-child h1,a:first-child h2,a:first-child h3,a:first-child h4,a:first-child h5,a:first-child h6{margin-top:0;padding-top:0}a{color:#4078c0;text-decoration:none}a:active,a:hover{outline:0;text-decoration:underline}sup,sub,a.footnote{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}ol,ul{margin-bottom:16px;margin-top:0;padding-left:2em}p,blockquote,table,pre{margin:15px 0}ul,ol{padding-left:2em}ul.no-list,ol.no-list{padding:0;list-style-type:none}ul ul,ul ol,ol ol,ol ul{margin-top:0;margin-bottom:0}li>p{margin-top:16px}li+li{margin-top:.25em}ol li ul:first-of-type{margin-top:0}hr{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAECAYAAACtBE5DAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OENDRjNBN0E2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OENDRjNBN0I2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Q0NGM0E3ODY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Q0NGM0E3OTY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqqezsUAAAAfSURBVHjaYmRABcYwBiM2QSA4y4hNEKYDQxAEAAIMAHNGAzhkPOlYAAAAAElFTkSuQmCC) repeat-x 0 0;border:0 none;color:#ccc;height:4px;margin:16px 0;padding:0}h1+p,h2+p,h3+p,h4+p,h5+p,h6+p,ul li>:first-child,ol li>:first-child{margin-top:0}dl{padding:0}dl dt{font-size:1em;font-weight:bold;font-style:italic;padding:0;margin:15px 0 5px}dl dt:first-child{padding:0}dl dt>:first-child{margin-top:0}dl dt>:last-child{margin-bottom:0}dl dd{margin:0 0 15px;padding:0 15px}dl dd>:first-child{margin-top:0}dl dd>:last-child{margin-bottom:0}blockquote{border-left:4px solid #DDD;padding:0 15px;color:#777}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}table{border-collapse:collapse;border-spacing:0;font-size:100%;font:inherit}table th{font-weight:bold;border:1px solid #ccc;padding:6px 13px}table td{border:1px solid #ccc;padding:6px 13px}table td>p:first-child{margin-top:0}table td>p:last-child{margin-bottom:0}table tr{border-top:1px solid #ccc;background-color:#fff}table tr:nth-child(2n){background-color:#f8f8f8}img{max-width:100%}code,tt{padding:0;padding-top:.2em;padding-bottom:.2em;margin:0;font-family:Consolas,'Liberation Mono',Menlo,Courier,monospace;font-size:10pt;background-color:rgba(0,0,0,0.04);border-radius:3px}pre>code{margin:0;padding:0;white-space:pre;border:0;background:transparent}pre{padding:16px;margin-top:0;margin-bottom:0;background-color:#f8f8f8;font-size:10pt;line-height:19px;overflow:auto;border-radius:3px}pre code,pre tt{background-color:transparent;border:0}code::before,code::after,tt::before,tt::after{letter-spacing:-0.2em;content:"\00a0"}pre code::before,pre code::after,pre tt::before,pre tt::after{content:normal}code>span.kw{color:#a71d5d;font-weight:normal}code>span.dt{color:inherit}code>span.dv{color:#0086b3}code>span.bn{color:#0086b3}code>span.fl{color:#0086b3}code>span.ch{color:#183691}code>span.st{color:#183691}code>span.co{color:#969896;font-style:normal}code>span.ot{color:#a71d5d}code>span.al{color:red}code>span.fu{color:#795da3}code>span.er{color:red;font-weight:bold}code>span.wa{color:#969896;font-weight:bold;font-style:italic}code>span.cn{color:#800}code>span.sc{color:#183691}code>span.vs{color:#183691}code>span.ss{color:#b68}code>span.va{color:#19177c}code>span.cf{color:#a71d5d;font-weight:normal}code>span.op{color:#666}code>span.pp{color:#bc7a00}code>span.at{color:#0086b3}code>span.do{color:#ba2121;font-style:italic}code>span.an{color:#969896;font-weight:bold;font-style:italic}code>span.cv{color:#969896;font-weight:bold;font-style:italic}code>span.in{color:#969896;font-weight:bold;font-style:italic}@media print{body{background:#fff}img,pre,blockquote,table,figure{page-break-inside:avoid}body{background:#fff;border:0}code{background-color:#fff;color:#333 !important;padding:0 .2em;border:1px solid #dedede}pre{background:#fff}pre code{background-color:white !important;overflow:visible}}@media screen{::selection{background:rgba(157,193,200,0.5)}h1::selection{background-color:rgba(45,156,208,0.3)}h2::selection{background-color:rgba(90,182,224,0.3)}h3::selection,h4::selection,h5::selection,h6::selection,li::selection,ol::selection{background-color:rgba(133,201,232,0.3)}code::selection{background-color:rgba(0,0,0,0.7);color:#eee}code span::selection{background-color:rgba(0,0,0,0.7) !important;color:#eee !important}a::selection{background-color:rgba(255,230,102,0.2)}.inverted a::selection{background-color:rgba(255,230,102,0.6)}td::selection,th::selection,caption::selection{background-color:rgba(180,237,95,0.5)}} \ No newline at end of file diff --git a/mk-docs.cmd b/mk-docs.cmd new file mode 100644 index 0000000..332353b --- /dev/null +++ b/mk-docs.cmd @@ -0,0 +1,12 @@ +@echo off + +if "%PANDODC_PATH%"=="" ( + set "PANDODC_PATH=c:\Program Files (x86)\Pandoc" +) + +echo on +"%PANDODC_PATH%\pandoc.exe" -o "%~dp0\README.html" --self-contained --toc --toc-depth=3 --css etc\style\gh-pandoc.min.css "%~dp0\README.md" +@echo off + +echo. +pause diff --git a/src/codesign_keygen.c b/src/codesign_keygen.c index f90aaaf..5c41113 100644 --- a/src/codesign_keygen.c +++ b/src/codesign_keygen.c @@ -12,7 +12,7 @@ #include #define RSA_EXPONENT 0x10001 -#define RSA_KEY_SIZE 8192 +#define RSA_KEY_SIZE 15360 int MAIN(int argc, CHAR_T *argv[]) { @@ -117,6 +117,12 @@ int MAIN(int argc, CHAR_T *argv[]) goto clean_up; } + if (RSA_size(rsa) != RSAKEY_MINLEN) + { + fputs("Failed!\n\nError: RSA key size differes from what was expected!\n\n", stderr); + goto clean_up; + } + fputs("Completed.\n\n", stderr); fflush(stderr); diff --git a/src/codesign_sign.c b/src/codesign_sign.c index 86f71ec..4127e8d 100644 --- a/src/codesign_sign.c +++ b/src/codesign_sign.c @@ -103,6 +103,12 @@ int MAIN(int argc, CHAR_T *argv[]) goto clean_up; } + if (RSA_size(rsa) < RSAKEY_MINLEN) + { + fputs("Error: RSA key size is smaller than the required minimum!\n\n", stderr); + goto clean_up; + } + /*-------------------------------------------------------*/ /* Get current time */ /*-------------------------------------------------------*/ diff --git a/src/codesign_verify.c b/src/codesign_verify.c index 621e1c7..d84582c 100644 --- a/src/codesign_verify.c +++ b/src/codesign_verify.c @@ -50,7 +50,7 @@ int MAIN(int argc, CHAR_T *argv[]) { print_license(); fputs("Usage:\n", stderr); - fputs(" codesign_verify.exe \n\n", stderr); + fputs(" codesign_verifz.exe \n\n", stderr); goto clean_up; } @@ -128,6 +128,12 @@ int MAIN(int argc, CHAR_T *argv[]) #endif + if (RSA_size(rsa) < RSAKEY_MINLEN) + { + fputs("Error: RSA key size is smaller than the required minimum!\n\n", stderr); + goto clean_up; + } + /*-------------------------------------------------------*/ /* Open input files */ /*-------------------------------------------------------*/ diff --git a/src/common.h b/src/common.h index 0613c6c..4b939c9 100644 --- a/src/common.h +++ b/src/common.h @@ -10,6 +10,7 @@ #include #define PASSWD_MINLEN 8 +#define RSAKEY_MINLEN 1920 void print_logo(const char *const app_name); void print_license(void);