8#ifndef BOTAN_PK_KEYS_H_
9#define BOTAN_PK_KEYS_H_
11#include <botan/asn1_obj.h>
12#include <botan/pk_ops_fwd.h>
13#include <botan/secmem.h>
245 std::string_view params,
246 std::string_view provider)
const;
257 virtual std::unique_ptr<PK_Ops::KEM_Encryption> create_kem_encryption_op(std::string_view params,
258 std::string_view provider)
const;
268 virtual std::unique_ptr<PK_Ops::Verification> create_verification_op(std::string_view params,
269 std::string_view provider)
const;
283 virtual std::unique_ptr<PK_Ops::Verification> create_x509_verification_op(
343 std::string fingerprint_private(std::string_view alg)
const;
359 std::string_view params,
360 std::string_view provider)
const;
375 std::string_view params,
376 std::string_view provider)
const;
391 std::string_view params,
392 std::string_view provider)
const;
407 std::string_view params,
408 std::string_view provider)
const;
#define BOTAN_PUBLIC_API(maj, min)
#define BOTAN_DEPRECATED(msg)
virtual std::string algo_name() const =0
virtual ~Asymmetric_Key()=default
virtual bool check_key(RandomNumberGenerator &rng, bool strong) const =0
virtual bool supports_operation(PublicKeyOperation op) const =0
virtual std::unique_ptr< Private_Key > generate_another(RandomNumberGenerator &rng) const =0
virtual const BigInt & get_int_field(std::string_view field) const
virtual OID object_identifier() const
virtual std::optional< size_t > _signature_element_size_for_DER_encoding() const
virtual Signature_Format _default_x509_signature_format() const
virtual size_t estimated_strength() const =0
virtual std::vector< uint8_t > public_value() const =0
virtual std::unique_ptr< Public_Key > public_key() const =0
virtual AlgorithmIdentifier pkcs8_algorithm_identifier() const
virtual secure_vector< uint8_t > raw_private_key_bits() const
virtual std::optional< uint64_t > remaining_operations() const
Retrieves the number of remaining operations if this is a stateful private key.
secure_vector< uint8_t > private_key_info() const
virtual bool stateful_operation() const
virtual secure_vector< uint8_t > private_key_bits() const =0
std::string fingerprint_public(std::string_view alg="SHA-256") const
virtual AlgorithmIdentifier algorithm_identifier() const =0
virtual std::vector< uint8_t > public_key_bits() const =0
size_t message_part_size() const
Signature_Format default_x509_signature_format() const
virtual std::vector< uint8_t > raw_public_key_bits() const =0
virtual size_t key_length() const =0
size_t message_parts() const
std::vector< uint8_t > subject_public_key() const
std::string create_hex_fingerprint(const uint8_t bits[], size_t bits_len, std::string_view hash_name)
std::vector< T, secure_allocator< T > > secure_vector