summaryrefslogtreecommitdiffhomepage
path: root/mullvad-update/src/format
diff options
context:
space:
mode:
Diffstat (limited to 'mullvad-update/src/format')
-rw-r--r--mullvad-update/src/format/deserializer.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/mullvad-update/src/format/deserializer.rs b/mullvad-update/src/format/deserializer.rs
index 980fd52ca6..8b138578b5 100644
--- a/mullvad-update/src/format/deserializer.rs
+++ b/mullvad-update/src/format/deserializer.rs
@@ -10,6 +10,21 @@ use super::{PartialSignedResponse, ResponseSignature, SignedResponse};
impl SignedResponse {
/// Deserialize some bytes to JSON, and verify them, including signature and expiry.
/// If successful, the deserialized data is returned.
+ ///
+ /// This uses the keys in `trusted-metadata-signing-pubkeys`
+ pub fn deserialize_and_verify(
+ bytes: &[u8],
+ min_metadata_version: usize,
+ ) -> Result<Self, anyhow::Error> {
+ Self::deserialize_and_verify_with_keys(
+ &crate::keys::TRUSTED_METADATA_SIGNING_PUBKEYS,
+ bytes,
+ min_metadata_version,
+ )
+ }
+
+ /// Deserialize some bytes to JSON, and verify them, including signature and expiry.
+ /// If successful, the deserialized data is returned.
pub fn deserialize_and_verify_with_keys(
keys: &Vec1<VerifyingKey>,
bytes: &[u8],