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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321
|
#!/bin/bash
#
# Download and verify that the FDroid.apk is signed by the right PGP
# key. The gpg key model is to trust only the key that is included in
# this script, so there is a test to check that it is starting with an
# empty keyring.
#
# To be run in a daily cronjob at a random time of day, e.g.:
#
# 0 0 * * * perl -le 'sleep rand 86400'; ./check-fdroid-apk
#
# One instance of this is here:
# https://verification.f-droid.org/check-fdroid-apk/
set -e
curl="curl --user-agent F-Droid"
gpg="gpg"
if [ "$1" = "-v" ]; then
set -x
verbose=true
else
curl="$curl --silent"
gpg="$gpg --quiet"
verbose=false
fi
test -e /tmp/.testfiles || mkdir /tmp/.testfiles
dldir=`mktemp -d /tmp/.testfiles/run-tests.XXXX`
export GNUPGHOME="$dldir"
key="${dldir}/key.asc"
apk="${dldir}/FDroid.apk"
asc="${apk}.asc"
log=/var/www/html/check-fdroid-apk/`date +%s`.txt
$curl --user-agent F-Droid https://f-droid.org/FDroid.apk > $apk
$curl --user-agent F-Droid https://f-droid.org/FDroid.apk.asc > $asc
fingerprint=37D2C98789D8311948394E3E41E7044E1DBA2E89
cat > $key <<- EOF
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
Comment: GPG for Android - https://guardianproject.info/code/gnupg/
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
893KN8JX2ozmsF4k
=w75J
-----END PGP PUBLIC KEY BLOCK-----
EOF
! $gpg --list-keys | grep pub
$gpg --import $key
$gpg --list-key --fingerprint | tr -d '[:space:]' | grep $fingerprint > /dev/null
echo ${fingerprint}:6: | $gpg --import-ownertrust > /dev/null 2>&1
sha256=`sha256sum $apk`
echo $sha256 >> $log
touch ${log}.${sha256}
if $gpg --batch --trust-model always --verify $asc $apk >> $log 2>&1; then
rm -rf $dldir
else
echo Failed to verify $apk
touch ${log}.failed
fi
|