diff --git a/KEYSTORE-README.md b/KEYSTORE-README.md new file mode 100644 index 000000000..42a37f279 --- /dev/null +++ b/KEYSTORE-README.md @@ -0,0 +1,60 @@ +# RR3 Release Keystore + +This keystore is used to sign all RR3 offline mod releases. + +## Keystore Details + +- **File:** rr3-release.keystore +- **Alias:** rr3key +- **Password:** rr3community +- **Key Algorithm:** RSA 2048-bit +- **Validity:** 10,000 days (~27 years) +- **Created:** 2026-02-18 + +## Usage + +### Signing an APK + +```bash +# Step 1: Zipalign +zipalign -v -p 4 input.apk aligned.apk + +# Step 2: Sign +apksigner sign --ks rr3-release.keystore \ + --ks-key-alias rr3key \ + --ks-pass pass:rr3community \ + --key-pass pass:rr3community \ + --out signed.apk \ + aligned.apk + +# Step 3: Verify +apksigner verify -v signed.apk +``` + +### Windows PowerShell + +```powershell +# Zipalign +& "path\to\zipalign.exe" -v -p 4 input.apk aligned.apk + +# Sign +& "path\to\apksigner.bat" sign --ks rr3-release.keystore --ks-key-alias rr3key --ks-pass pass:rr3community --key-pass pass:rr3community --out signed.apk aligned.apk + +# Verify +& "path\to\apksigner.bat" verify -v signed.apk +``` + +## Important Notes + +⚠️ **Keep this keystore safe!** All future updates must be signed with the same key, otherwise users will have to uninstall the old version before installing updates. + +⚠️ **This is a community keystore** with a simple password for ease of use. It's shared publicly in this repository. + +## Certificate Information + +- **Owner:** CN=RR3Community, OU=Modding, O=Community, L=Unknown, ST=Unknown, C=US +- **Valid until:** 02/18/2026 19:16:33.AddDays(10000).ToString('yyyy-MM-dd') + +## Files in This Release + +All APKs should be signed with this keystore before distribution. diff --git a/rr3-release.keystore b/rr3-release.keystore new file mode 100644 index 000000000..34bf52669 Binary files /dev/null and b/rr3-release.keystore differ