Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
authentication.hpp File Reference
#include <cstdint>
#include <optional>
#include <span>
#include <string>
#include <string_view>
#include <vector>

Go to the source code of this file.

Classes

struct  pulp::inspect::InspectorAuthChallenge
class  pulp::inspect::InspectorAuthVerifier
 One-shot verifier for a server-issued nonce. More...

Namespaces

namespace  pulp
namespace  pulp::inspect

Functions

std::optional< std::vector< std::uint8_t > > pulp::inspect::generate_inspector_secret ()
 Generate a per-session 256-bit token or per-connection 256-bit nonce.
std::optional< InspectorAuthChallenge > pulp::inspect::make_inspector_auth_challenge (std::string session_id, std::string instance_id, std::string publication_id, std::string protocol_version)
std::optional< std::string > pulp::inspect::make_inspector_auth_proof (std::span< const std::uint8_t > token, const InspectorAuthChallenge &challenge)
 Construct the versioned HMAC proof used by installed clients.
std::optional< std::string > pulp::inspect::make_inspector_server_auth_proof (std::span< const std::uint8_t > token, const InspectorAuthChallenge &challenge, std::string_view client_proof)
 Construct and verify the distinct server-side transcript proof returned after the client proof succeeds.
bool pulp::inspect::verify_inspector_server_auth_proof (std::span< const std::uint8_t > token, const InspectorAuthChallenge &challenge, std::string_view client_proof, std::string_view server_proof)

Variables

constexpr std::size_t pulp::inspect::inspector_token_size = 32
constexpr std::size_t pulp::inspect::inspector_nonce_size = 32