One verify function for positive reports
This commit is contained in:
parent
4f88df6171
commit
6448537c4b
|
@ -85,8 +85,7 @@ impl NegativeReport {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Verify report. Caller must pass Some of the bridge knowledge proof type
|
/// Verify the report
|
||||||
/// in the report.
|
|
||||||
pub fn verify(self, bridge_info: &BridgeInfo) -> bool {
|
pub fn verify(self, bridge_info: &BridgeInfo) -> bool {
|
||||||
match self.bridge_pok {
|
match self.bridge_pok {
|
||||||
ProofOfBridgeKnowledge::HashOfBridgeLine(pok) => {
|
ProofOfBridgeKnowledge::HashOfBridgeLine(pok) => {
|
||||||
|
|
|
@ -5,7 +5,7 @@ use crate::{bridge_info::BridgeInfo, get_date, CONFIG, COUNTRY_CODES};
|
||||||
|
|
||||||
use curve25519_dalek::ristretto::RistrettoBasepointTable;
|
use curve25519_dalek::ristretto::RistrettoBasepointTable;
|
||||||
use ed25519_dalek::{Signature, Signer, SigningKey, Verifier};
|
use ed25519_dalek::{Signature, Signer, SigningKey, Verifier};
|
||||||
use lox_library::{cred::Lox, proto::positive_report as lox_pr, IssuerPubKey};
|
use lox_library::{cred::Lox, proto::positive_report as lox_pr, BridgeAuth, IssuerPubKey};
|
||||||
use serde::{Deserialize, Serialize};
|
use serde::{Deserialize, Serialize};
|
||||||
use sha1::{Digest, Sha1};
|
use sha1::{Digest, Sha1};
|
||||||
use std::option::Option;
|
use std::option::Option;
|
||||||
|
@ -102,15 +102,10 @@ impl PositiveReport {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Verify everything except the Lox proof.
|
/// Verify report
|
||||||
/// Parameters:
|
pub fn verify(
|
||||||
/// - The bucket ID for the bucket containing this bridge
|
|
||||||
/// - A basepoint table for computing multiples of H
|
|
||||||
/// - The bridge verifying key for this bridge (if bridge token is required)
|
|
||||||
/// These parameters are assumed to be correct and are NOT checked against
|
|
||||||
/// the fingerprint listed in the report.
|
|
||||||
pub fn verify_excluding_lox_proof(
|
|
||||||
self,
|
self,
|
||||||
|
la: &mut BridgeAuth,
|
||||||
bridge_info: &BridgeInfo,
|
bridge_info: &BridgeInfo,
|
||||||
Htable: &RistrettoBasepointTable,
|
Htable: &RistrettoBasepointTable,
|
||||||
) -> bool {
|
) -> bool {
|
||||||
|
@ -138,7 +133,8 @@ impl PositiveReport {
|
||||||
if &bucket * Htable != BP {
|
if &bucket * Htable != BP {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
true
|
// Verify Lox proof
|
||||||
|
la.handle_positive_report(self.lox_proof, &Htable).is_ok()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue