Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
signature.hpp
Go to the documentation of this file.
1#pragma once
2
12
15
16#include <cstdint>
17#include <span>
18#include <string>
19#include <vector>
20
22
25 std::string signer_id;
26 std::string algorithm;
27 std::vector<std::uint8_t> signature;
34};
35
39 std::string product;
40 std::string min_version;
41};
42
44public:
45 virtual ~SignatureVerifier() = default;
46
50 verify(const SignatureEnvelope& envelope, std::string_view computed_revision_digest) const = 0;
51
55 virtual bool is_revoked(std::string_view signer_id) const = 0;
56
58};
59
60} // namespace pulp::authoring_capsule
virtual runtime::Result< void, CapsuleError > check_floor(const VersionFloor &floor) const =0
virtual runtime::Result< void, CapsuleError > verify(const SignatureEnvelope &envelope, std::string_view computed_revision_digest) const =0
Verify the envelope against the digest that was actually computed from the capsule,...
virtual bool is_revoked(std::string_view signer_id) const =0
Has this signer been revoked?
Result<T, E> — either holds a T or an E, never both.
Definition result.hpp:76
Definition archive.hpp:24
Result<T, E> — success / failure union for fallible operations.
Admission failure vocabulary for authoring capsules.
std::string signer_id
Signer identity as the verifier understands it.
Definition signature.hpp:25
std::vector< std::uint8_t > signature
Definition signature.hpp:27
std::string algorithm
Definition signature.hpp:26
std::string signed_payload_digest
The digest this envelope claims to sign, as the capsule spells it ("sha256:…").
Definition signature.hpp:33
Minimum version the signer will let this capsule be admitted at.
Definition signature.hpp:38
std::string min_version
Definition signature.hpp:40
std::string product
Definition signature.hpp:39