summaryrefslogtreecommitdiffstats
path: root/verifier.h
diff options
context:
space:
mode:
authorTianjie Xu <xunchang@google.com>2018-10-25 06:03:23 +0200
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-10-25 06:03:23 +0200
commit6793f61795717581a7c845f51e11c38b941f6a2c (patch)
tree05ff31a44b186b7b0b80096cdec4c096f5f6afb7 /verifier.h
parentMerge "minui: Cleanup GRSurfaceDrm and MinuiBackendDrm." (diff)
parentAdd sanity check when loading public keys for OTA package (diff)
downloadandroid_bootable_recovery-6793f61795717581a7c845f51e11c38b941f6a2c.tar
android_bootable_recovery-6793f61795717581a7c845f51e11c38b941f6a2c.tar.gz
android_bootable_recovery-6793f61795717581a7c845f51e11c38b941f6a2c.tar.bz2
android_bootable_recovery-6793f61795717581a7c845f51e11c38b941f6a2c.tar.lz
android_bootable_recovery-6793f61795717581a7c845f51e11c38b941f6a2c.tar.xz
android_bootable_recovery-6793f61795717581a7c845f51e11c38b941f6a2c.tar.zst
android_bootable_recovery-6793f61795717581a7c845f51e11c38b941f6a2c.zip
Diffstat (limited to 'verifier.h')
-rw-r--r--verifier.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/verifier.h b/verifier.h
index b7924c71f..944823293 100644
--- a/verifier.h
+++ b/verifier.h
@@ -72,6 +72,12 @@ int verify_file(const unsigned char* addr, size_t length, const std::vector<Cert
bool load_keys(const char* filename, std::vector<Certificate>& certs);
+// Checks that the RSA key has a modulus of 2048 bits long, and public exponent is 3 or 65537.
+bool CheckRSAKey(const std::unique_ptr<RSA, RSADeleter>& rsa);
+
+// Checks that the field size of the curve for the EC key is 256 bits.
+bool CheckECKey(const std::unique_ptr<EC_KEY, ECKEYDeleter>& ec_key);
+
// Parses a PEM-encoded x509 certificate from the given buffer and saves it into |cert|. Returns
// false if there is a parsing failure or the signature's encryption algorithm is not supported.
bool LoadCertificateFromBuffer(const std::vector<uint8_t>& pem_content, Certificate* cert);