cxxmcp 1.1.6
C++ MCP SDK
Loading...
Searching...
No Matches
dpop.hpp File Reference

OpenSSL-backed DPoP proof signing and verification helpers. More...

#include <openssl/bio.h>
#include <openssl/evp.h>
#include <openssl/pem.h>
#include <openssl/rand.h>
#include <chrono>
#include <cstdint>
#include <functional>
#include <limits>
#include <memory>
#include <nlohmann/json.hpp>
#include <optional>
#include <string>
#include <utility>
#include <vector>
#include "cxxmcp/auth/dpop.hpp"
#include "cxxmcp/auth/openssl/jwk.hpp"
#include "cxxmcp/auth/openssl/jws_verify.hpp"
#include "cxxmcp/auth/openssl/sha256.hpp"
#include "cxxmcp/core/result.hpp"

Go to the source code of this file.

Classes

struct  mcp::auth::openssl::detail::BioDeleter
 
struct  mcp::auth::openssl::PrivateKeyJwtAssertionRequest
 
struct  mcp::auth::openssl::OpenSslDpopSignerOptions
 
class  mcp::auth::openssl::OpenSslDpopSigner
 
struct  mcp::auth::openssl::OpenSslDpopVerifierOptions
 
class  mcp::auth::openssl::OpenSslDpopVerifier
 

Typedefs

using mcp::auth::openssl::detail::BioPtr = std::unique_ptr< BIO, BioDeleter >
 

Functions

core::Result< EvpPkeyPtr > mcp::auth::openssl::detail::private_key_from_pem (std::string_view pem)
 
core::Result< std::string > mcp::auth::openssl::detail::random_jwt_id ()
 
std::int64_t mcp::auth::openssl::detail::unix_seconds_from_time (TimePoint value)
 
TimePoint mcp::auth::openssl::detail::time_from_unix_seconds (std::int64_t seconds)
 
nlohmann::json mcp::auth::openssl::detail::public_jwk_to_json (const JsonWebKey &jwk)
 
core::Result< std::string > mcp::auth::openssl::detail::sign_compact_jws (EVP_PKEY *key, std::string_view algorithm, const nlohmann::json &header, const nlohmann::json &payload)
 
core::Result< nlohmann::json > mcp::auth::openssl::detail::parse_json_object_bytes (const std::vector< unsigned char > &bytes, std::string message)
 
std::optional< std::string > mcp::auth::openssl::detail::string_claim (const nlohmann::json &object, const char *key)
 
std::optional< std::int64_t > mcp::auth::openssl::detail::numeric_date_claim (const nlohmann::json &object, const char *key)
 
MetadataMap mcp::auth::openssl::detail::dpop_claim_metadata (const nlohmann::json &payload)
 
core::Result< std::string > mcp::auth::openssl::sign_private_key_jwt_assertion (PrivateKeyJwtAssertionRequest request)
 

Detailed Description

OpenSSL-backed DPoP proof signing and verification helpers.