Some additional decryption perf improvements.

This commit is contained in:
Greyson Parrelli
2023-03-16 10:42:32 -04:00
parent c6861f1778
commit 1210b2af0f
9 changed files with 163 additions and 95 deletions

View File

@@ -44,12 +44,7 @@ public class UnidentifiedAccessUtil {
private static final byte[] UNRESTRICTED_KEY = new byte[16];
public static CertificateValidator getCertificateValidator() {
try {
ECPublicKey unidentifiedSenderTrustRoot = Curve.decodePoint(Base64.decode(BuildConfig.UNIDENTIFIED_SENDER_TRUST_ROOT), 0);
return new CertificateValidator(unidentifiedSenderTrustRoot);
} catch (InvalidKeyException | IOException e) {
throw new AssertionError(e);
}
return CertificateValidatorHolder.INSTANCE.certificateValidator;
}
@WorkerThread
@@ -209,4 +204,19 @@ public class UnidentifiedAccessUtil {
return accessKey;
}
private enum CertificateValidatorHolder {
INSTANCE;
final CertificateValidator certificateValidator = buildCertificateValidator();
private static CertificateValidator buildCertificateValidator() {
try {
ECPublicKey unidentifiedSenderTrustRoot = Curve.decodePoint(Base64.decode(BuildConfig.UNIDENTIFIED_SENDER_TRUST_ROOT), 0);
return new CertificateValidator(unidentifiedSenderTrustRoot);
} catch (InvalidKeyException | IOException e) {
throw new AssertionError(e);
}
}
}
}