-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathHOW-TO-codesign.txt
46 lines (35 loc) · 1.93 KB
/
HOW-TO-codesign.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Code signing is not integrated into the build script. At the Broad Institute we do something like ...
## Java executable jar file distribution
Pass in 'signjar.alias' and 'signjar.storepass' as mvn command line args. Use the jarsigner command
to verify the signature, and the manually copy the file into a dist folder for upload as a release
artifact.
For example for the 1.2.7 release ...
mvn -Dsignjar.keystore=${HOME}/.gp_build/genepattern-codesign.jks -Dsignjar.alias=codesign -Dsignjar.storepass=********
jarsigner -verify target/visualizerLauncher-1.2.7-full.jar
mkdirs dist
cp -rp target/visualizerLauncher-1.2.7-full.jar dist/visualizerLauncher-1.2.7.jar
## Mac OS X distribution
1) create a zip file
cd target/visualizerLauncher-1.2.7
zip -r VisualizerLauncher.app.zip VisualizerLauncher.app
2) copy it to remote server
scp VisualizerLauncher.app.zip <user>@<host>:~/visualizer-launcher
3) sign the code
This is now a manual process and requires a Mac. Prequisite steps (one-time only):
a) Obtain the signing certificate and private key password from BITS
b) Install this to your Mac keychain (see private email for instructions)
Signing steps (every release).
a) Download VisualizerLauncher.app.zip to your local Mac from the CI server
b) Open a Terminal on your Mac, then:
cd ~/Downloads
mkdir sign
cp VisualizerLauncher.app.zip sign
cd sign
unzip VisualizerLauncher.app.zip
chmod u+x VisualizerLauncher.app/Contents/MacOS/JavaAppLauncher # ... only if necessary
codesign --deep --force --sign "Developer ID Application: THE BROAD INSTITUTE INC" VisualizerLauncher.app
# At this point, MacOS will prompt for userid + password for Keychain Access, after which it will sign the app.
# ... after that:
rm VisualizerLauncher.app.zip
zip -r VisualizerLauncher.app.zip VisualizerLauncher.app.zip
4) upload this to GitHub release