Add script to check and sign executables

This commit is contained in:
Johann Bauer
2018-02-05 15:22:57 +01:00
committed by ThomasV
parent c4ef5bfedb
commit 95bbd9593b
2 changed files with 82 additions and 0 deletions

View File

@@ -34,3 +34,30 @@ The binaries are also built by Travis CI, so if you are having problems,
2. Make sure `/opt` is writable by the current user.
3. Run `build.sh`.
4. The generated binaries are in `./dist`.
Code Signing
============
Electrum Windows builds are signed with a Microsoft Authenticode™ code signing
certificate in addition to the GPG-based signatures.
The advantage of using Authenticode is that Electrum users won't receive a
Windows SmartScreen warning when starting it.
The release signing procedure involves a signer (the holder of the
certificate/key) and one or multiple trusted verifiers:
| Signer | Verifier |
|-----------------------------------------------------------|-----------------------------------|
| Build .exe files using `build.sh` | |
| | Build .exe files using `build.sh` |
| | Sign .exe files using `gpg -b` |
| | Send signatures to signer |
| Place signatures as `$filename.$builder.asc` in `./dist` | |
| Run `./sign.sh` | |
`sign.sh` will check if the signatures match the signer's files. This ensures that the signer's
build environment is not compromised and that the binaries can be reproduced by anyone.