|
|
@@ -1,10 +1,10 @@
|
|
|
// For Lox-related code where points are uppercase and scalars are lowercase
|
|
|
#![allow(non_snake_case)]
|
|
|
|
|
|
-use crate::{get_date, CONFIG, COUNTRY_CODES};
|
|
|
+use crate::{bridge_info::BridgeInfo, get_date, CONFIG, COUNTRY_CODES};
|
|
|
|
|
|
-use curve25519_dalek::{ristretto::RistrettoBasepointTable, Scalar};
|
|
|
-use ed25519_dalek::{Signature, Signer, SigningKey, Verifier, VerifyingKey};
|
|
|
+use curve25519_dalek::ristretto::RistrettoBasepointTable;
|
|
|
+use ed25519_dalek::{Signature, Signer, SigningKey, Verifier};
|
|
|
use lox_library::{cred::Lox, proto::positive_report as lox_pr, IssuerPubKey};
|
|
|
use serde::{Deserialize, Serialize};
|
|
|
use sha1::{Digest, Sha1};
|
|
|
@@ -111,13 +111,13 @@ impl PositiveReport {
|
|
|
/// the fingerprint listed in the report.
|
|
|
pub fn verify_excluding_lox_proof(
|
|
|
self,
|
|
|
- bucket: Scalar,
|
|
|
+ bridge_info: &BridgeInfo,
|
|
|
Htable: &RistrettoBasepointTable,
|
|
|
- bridge_key: Option<VerifyingKey>,
|
|
|
) -> bool {
|
|
|
// Verify bridge token
|
|
|
if CONFIG.require_bridge_token {
|
|
|
let bridge_token = self.bridge_token.unwrap();
|
|
|
+ let bridge_key = bridge_info.pubkey;
|
|
|
if bridge_key.is_none() {
|
|
|
return false;
|
|
|
}
|
|
|
@@ -133,6 +133,7 @@ impl PositiveReport {
|
|
|
}
|
|
|
}
|
|
|
// Verify knowledge of bucket ID
|
|
|
+ let bucket = bridge_info.bucket.unwrap();
|
|
|
let BP = self.lox_proof.BP;
|
|
|
if &bucket * Htable != BP {
|
|
|
return false;
|