Skip to content
API Documentation
BastionGuard™
activation.cpp File Reference

Go to the source code of this file.

Namespaces

namespace  BastionGuard
namespace  BastionGuard::Activation
namespace  BastionGuard::Activation::anonymous_namespace{activation.cpp}

Functions

uint32_t BastionGuard::Activation::anonymous_namespace{activation.cpp}::rotr (uint32_t value, unsigned int count)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::sha256_hex (const std::string &input)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::uppercase (std::string value)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::lowercase (std::string value)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::trim (const std::string &value)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::normalize_engine_id (const std::string &value)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::compact_key (const std::string &raw)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::extract_activation_key (const std::string &raw)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::compact_hex_machine_id (const std::string &raw)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::collapse_spaces (const std::string &value)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::canonical_serial (std::string value)
bool BastionGuard::Activation::anonymous_namespace{activation.cpp}::all_zero_like (const std::string &value)
bool BastionGuard::Activation::anonymous_namespace{activation.cpp}::is_placeholder_serial (const std::string &value)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::read_first_valid_serial (const std::vector< std::string > &paths)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::read_first_existing_file (const std::vector< std::string > &paths)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::legacy_application_machine_id ()
int BastionGuard::Activation::anonymous_namespace{activation.cpp}::b64url_value (char c)
std::optional< std::string > BastionGuard::Activation::anonymous_namespace{activation.cpp}::base64url_decode (const std::string &input)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::percent_decode (const std::string &value)
std::map< std::string, std::string > BastionGuard::Activation::anonymous_namespace{activation.cpp}::parse_payload (const std::string &payload)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::today_ymd ()
bool BastionGuard::Activation::anonymous_namespace{activation.cpp}::is_valid_expiry (const std::string &expires)
bool BastionGuard::Activation::anonymous_namespace{activation.cpp}::has_expired (const std::string &expires)
bool BastionGuard::Activation::anonymous_namespace{activation.cpp}::is_running_as_root ()
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::user_config_dir ()
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::system_config_dir ()
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::user_activation_key_path ()
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::system_activation_key_path ()
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::preferred_activation_key_path_for_save ()
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::read_file_all (const std::string &path)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::sign_payload_v1 (const std::string &payload)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::sign_payload_v2 (const std::string &canonical_payload)
uint64_t BastionGuard::Activation::anonymous_namespace{activation.cpp}::fnv1a64 (const std::string &input)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::normalize_activation_code (std::string value)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::group_activation_code (const std::string &compact)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::field_or_empty (const std::map< std::string, std::string > &fields, const std::string &name)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::code_payload_v3 (const std::map< std::string, std::string > &fields)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::generate_activation_code_v3 (const std::string &canonical_payload)
std::map< std::string, std::string > BastionGuard::Activation::anonymous_namespace{activation.cpp}::parse_key_block (const std::string &key)
std::string BastionGuard::Activation::anonymous_namespace{activation.cpp}::canonical_v2_payload (const std::map< std::string, std::string > &fields)
std::string BastionGuard::Activation::activation_engine_id ()
std::string BastionGuard::Activation::machine_id ()
std::string BastionGuard::Activation::motherboard_serial ()
std::string BastionGuard::Activation::activation_key_path ()
ActivationStatus BastionGuard::Activation::validate_key (const std::string &raw_key)
ActivationStatus BastionGuard::Activation::validate_installed_key ()
bool BastionGuard::Activation::save_key_if_valid (const std::string &raw_key, std::string &error_message)

Variables

constexpr std::string_view BastionGuard::Activation::anonymous_namespace{activation.cpp}::kActivationSecret
constexpr std::string_view BastionGuard::Activation::anonymous_namespace{activation.cpp}::kProductId = "BastionGuardRecoveryData"
constexpr std::string_view BastionGuard::Activation::anonymous_namespace{activation.cpp}::kActivationEngineId = "supportterdonation"
constexpr std::string_view BastionGuard::Activation::anonymous_namespace{activation.cpp}::kKeyPrefixV1 = "BGRD1"
constexpr std::string_view BastionGuard::Activation::anonymous_namespace{activation.cpp}::kKeyPrefixV2 = "BGRD2"
constexpr std::string_view BastionGuard::Activation::anonymous_namespace{activation.cpp}::kKeyPrefixV3 = "BGRD3"
constexpr std::string_view BastionGuard::Activation::anonymous_namespace{activation.cpp}::kKeyBeginMarker = "-----BEGIN BASTIONGUARD ACTIVATION KEY-----"
constexpr std::string_view BastionGuard::Activation::anonymous_namespace{activation.cpp}::kKeyEndMarker = "-----END BASTIONGUARD ACTIVATION KEY-----"