Validate persisted network readiness fingerprints
This commit is contained in:
parent
304fb225d6
commit
27bc3d835e
2 changed files with 21 additions and 4 deletions
|
|
@ -14,6 +14,7 @@ use lazaret_core::identity::{
|
|||
ReadinessFingerprint, RequestDigest, RequestId, SandboxId, SelectedManifestDigest,
|
||||
SessionAnchorId, SessionId, SourceIdentity, StreamDigest, TrustManifestDigest,
|
||||
};
|
||||
use lazaret_core::network::readiness_fingerprint as derive_readiness_fingerprint;
|
||||
use lazaret_core::records::*;
|
||||
use serde::de::DeserializeOwned;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
|
@ -345,13 +346,14 @@ fn reachability_probe() -> NetworkReachabilityProbe {
|
|||
}
|
||||
|
||||
fn readiness_evidence() -> NetworkReadinessEvidence {
|
||||
let readiness_identity = readiness_identity();
|
||||
NetworkReadinessEvidence {
|
||||
domain_id: domain_id(),
|
||||
generation_id: generation_id(),
|
||||
network_sidecar_id: sidecar_id(),
|
||||
readiness_fingerprint: ReadinessFingerprint::new(opaque(23)),
|
||||
readiness_fingerprint: derive_readiness_fingerprint(&readiness_identity).unwrap(),
|
||||
attestation: readiness_attestation(),
|
||||
readiness_identity: readiness_identity(),
|
||||
readiness_identity,
|
||||
reachability_probe: reachability_probe(),
|
||||
}
|
||||
}
|
||||
|
|
@ -368,10 +370,11 @@ fn prepared_ownership() -> PreparedLowerOwnership {
|
|||
}
|
||||
|
||||
fn network_ownership() -> NetworkOwnership {
|
||||
let readiness_evidence = readiness_evidence();
|
||||
NetworkOwnership {
|
||||
derived_policy_digest: Some(DerivedPolicyDigest::new(opaque(20))),
|
||||
readiness_fingerprint: Some(ReadinessFingerprint::new(opaque(23))),
|
||||
readiness_evidence: Some(readiness_evidence()),
|
||||
readiness_fingerprint: Some(readiness_evidence.readiness_fingerprint),
|
||||
readiness_evidence: Some(readiness_evidence),
|
||||
namespace: Some(namespace()),
|
||||
runtime_supervisor: owned_process(21),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -333,6 +333,18 @@ fn active_network_rejects_every_mismatched_readiness_relation() {
|
|||
ownership.readiness_fingerprint = Some(other_fingerprint);
|
||||
}),
|
||||
),
|
||||
(
|
||||
"consistently repeated noncanonical readiness fingerprint",
|
||||
generation_id(),
|
||||
mutate_network_ownership(|ownership| {
|
||||
ownership.readiness_fingerprint = Some(other_fingerprint);
|
||||
ownership
|
||||
.readiness_evidence
|
||||
.as_mut()
|
||||
.unwrap()
|
||||
.readiness_fingerprint = other_fingerprint;
|
||||
}),
|
||||
),
|
||||
(
|
||||
"attestation domain",
|
||||
generation_id(),
|
||||
|
|
|
|||
Loading…
Reference in a new issue