summaryrefslogtreecommitdiffstats
path: root/build.gradle.kts
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-02 10:09:49 +0100
committerDanilo M. <danix@danix.xyz>2026-11-02 10:09:49 +0100
commit1c4d04c2089f719e8344f6c4f5cd8488c2320e9f (patch)
treeb4d3f432f7ebf558af01186601745e0402e135e4 /build.gradle.kts
parent9b8a56cb859f45845a620d7de344079e6a91d7c9 (diff)
downloadHardenedPass-1c4d04c2089f719e8344f6c4f5cd8488c2320e9f.tar.gz
HardenedPass-1c4d04c2089f719e8344f6c4f5cd8488c2320e9f.zip
build(deps): update Bouncy Castle to 1.86 and PGPainless to 1.7.8
Bouncy Castle 1.78.1 is affected by GHSA-574f-3g2m-x479, GHSA-9pwp-9qqc-pr26, GHSA-c3fc-8qff-9hwx and GHSA-qp49-qgx5-5m26, all fixed by 1.85. PGPainless 1.7.8 is the newest 1.x release. A root resolution rule keeps every Bouncy Castle module on the catalog version; before, bcpg 1.77 shipped next to bcprov 1.78.1. The new stack decrypts the OCB (LibrePGP) packets GnuPG 2.3+ emits by default, which the old one rejected as "non-standard AEAD". Drop the NonStandardAEAD error, its bottom sheet and strings, and replace the mislabelled aead_* fixtures (SHA-1 self-signed keys plus a message encrypted to an unrelated key) with a real GnuPG 2.5 key and OCB message that the tests now decrypt. The new fixture is a throwaway test key, so it is allowlisted in .gitleaksignore by fingerprint. Fix KeyUtils.isKeyUsable, which compared a Boolean to null and so accepted every key that parsed, including keys with no encryption subkey. A signing-only key fixture now covers the rejection path. Also: migrate the removed SelectUserId.firstMatch and deprecated addDecryptionPassphrase APIs, keep one copy of the Bouncy Castle META-INF/LICENSE.md in the APK, and move the existing InvalidPackage lint baseline entries to the bcpkix 1.86 jar. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'build.gradle.kts')
-rw-r--r--build.gradle.kts10
1 files changed, 10 insertions, 0 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index a0957b1b..150e3566 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -8,3 +8,13 @@ plugins {
id("com.github.android-password-store.spotless")
id("com.github.android-password-store.versions")
}
+
+// Keep every Bouncy Castle module (bcprov, bcpg, bcpkix, bcutil) on one version. They are
+// pulled in by PGPainless and sshj at different versions, and mixing them is unsupported.
+subprojects {
+ configurations.configureEach {
+ resolutionStrategy.eachDependency {
+ if (requested.group == "org.bouncycastle") useVersion(libs.versions.bouncycastle.get())
+ }
+ }
+}