boklm pushed to branch main at The Tor Project / Applications / tor-browser-build
Commits:
-
86e52868
by Nicolas Vigier at 2025-07-31T16:51:43+02:00
5 changed files:
- + tools/signing/generate-keys/generate-android-signing-key
- + tools/signing/generate-keys/sign-aab
- + tools/signing/generate-keys/sign-apk
- + tools/signing/generate-keys/verify-aab
- + tools/signing/generate-keys/verify-apk
Changes:
1 | +#!/bin/bash
|
|
2 | + |
|
3 | +# This script generate a new Android signing key in the android-key directory
|
|
4 | +# Before running it you should edit the key_* variables for setting the
|
|
5 | +# key name, password, etc...
|
|
6 | + |
|
7 | +set -e
|
|
8 | +script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
9 | +test -n "$set_config_only" || cd "$script_dir"
|
|
10 | + |
|
11 | +key_alias=tor-vpn
|
|
12 | +key_password=123456
|
|
13 | +key_dname='CN=Tor VPN, O=The Tor Project'
|
|
14 | + |
|
15 | +test -n "$set_config_only" && return 0
|
|
16 | + |
|
17 | +mkdir android-key
|
|
18 | +cd android-key
|
|
19 | + |
|
20 | +keytool -genkeypair -keysize 4096 -sigalg SHA512withRSA -keyalg RSA \
|
|
21 | + -storetype PKCS12 -alias "$key_alias" -dname "$key_dname" \
|
|
22 | + -validity 36500 -keystore "${key_alias}-private.p12" \
|
|
23 | + -storepass "$key_password" -v
|
|
24 | + |
|
25 | +# Export the generated certificate into a PEM file
|
|
26 | +keytool -exportcert -rfc -alias "$key_alias" -file "${key_alias}-public.pem" \
|
|
27 | + -keystore "${key_alias}-private.p12" -storepass "$key_password" -v |
1 | +#!/bin/bash
|
|
2 | +# This script will sign the aab given as argument, as signed.aab in the
|
|
3 | +# current directory, using the key config from generate-android-signing-key
|
|
4 | + |
|
5 | +set -e
|
|
6 | +script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
7 | +set_config_only=1
|
|
8 | +source "$script_dir/generate-android-signing-key"
|
|
9 | + |
|
10 | +if test "$#" -ne 1; then
|
|
11 | + echo "Wrong number of arguments" >&2
|
|
12 | + exit 1
|
|
13 | +fi
|
|
14 | + |
|
15 | +jarsigner -keystore "$script_dir/android-key/${key_alias}-private.p12" \
|
|
16 | + -storepass "${key_password}" -signedjar signed.aab -verbose \
|
|
17 | + "$1" "${key_alias}"
|
|
18 | +echo "Signed $1 in signed.aab" |
1 | +#!/bin/bash
|
|
2 | + |
|
3 | +# This script will sign the apk given as argument, as signed.apk in the
|
|
4 | +# current directory, using the key config from generate-android-signing-key
|
|
5 | + |
|
6 | +set -e
|
|
7 | +script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
8 | +set_config_only=1
|
|
9 | +source "$script_dir/generate-android-signing-key"
|
|
10 | + |
|
11 | +if test "$#" -ne 1; then
|
|
12 | + echo "Wrong number of arguments" >&2
|
|
13 | + exit 1
|
|
14 | +fi
|
|
15 | + |
|
16 | +apksigner sign --ks "$script_dir/android-key/${key_alias}-private.p12" \
|
|
17 | + --ks-pass "pass:${key_password}" --out signed.apk "$1"
|
|
18 | +echo "Signed $1 in signed.apk" |
1 | +#!/bin/bash
|
|
2 | +# This script takes no argument and will verify the signature of the
|
|
3 | +# file signed.aab in the currenty directory, using the key config from
|
|
4 | +# generate-android-signing-key
|
|
5 | + |
|
6 | +set -e
|
|
7 | +script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
8 | +set_config_only=1
|
|
9 | +source "$script_dir/generate-android-signing-key"
|
|
10 | + |
|
11 | +if test "$#" -ne 0; then
|
|
12 | + echo "Wrong number of arguments" >&2
|
|
13 | + exit 1
|
|
14 | +fi
|
|
15 | + |
|
16 | +jarsigner -keystore "$script_dir/android-key/${key_alias}-private.p12" \
|
|
17 | + -storepass "${key_password}" -verify -verbose -certs signed.aab \
|
|
18 | + -verbose "${key_alias}" |
1 | +#!/bin/bash
|
|
2 | +# This script takes no argument and will verify the signature of the
|
|
3 | +# file signed.apk in the currenty directory, using the key config from
|
|
4 | +# generate-android-signing-key
|
|
5 | + |
|
6 | +set -e
|
|
7 | +script_dir=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
8 | +set_config_only=1
|
|
9 | +source "$script_dir/generate-android-signing-key"
|
|
10 | + |
|
11 | +if test "$#" -ne 0; then
|
|
12 | + echo "Wrong number of arguments" >&2
|
|
13 | + exit 1
|
|
14 | +fi
|
|
15 | + |
|
16 | +jarsigner -keystore "$script_dir/android-key/${key_alias}-private.p12" \
|
|
17 | + -storepass "${key_password}" -verify -verbose -certs signed.apk \
|
|
18 | + -verbose "${key_alias}" |