1#ifndef BACKEND_OPENSSL_HPP_CRRV8DCH
2#define BACKEND_OPENSSL_HPP_CRRV8DCH
4#include <vanetza/security/backend.hpp>
28 static constexpr auto backend_name =
"OpenSSL";
41 ByteBuffer calculate_hash(KeyType,
const ByteBuffer&)
override;
44 boost::optional<Uncompressed>
decompress_point(
const EccPoint& ecc_point)
override;
Backend implementation based on OpenSSL.
std::array< uint8_t, 32 > calculate_sha256_digest(const ByteBuffer &data) const
calculate SHA256 digest of data buffer
bool verify_data(const ecdsa256::PublicKey &public_key, const ByteBuffer &data, const EcdsaSignature &sig) override
bool verify_digest(const PublicKey &, const ByteBuffer &digest, const Signature &) override
std::array< uint8_t, 48 > calculate_sha384_digest(const ByteBuffer &data) const
calculate SHA384 digest of data buffer
openssl::Key internal_public_key(const ecdsa256::PublicKey &) const
convert to internal format of public key
openssl::Point internal_ec_point(const PublicKey &) const
convert to internal format of an EC point
EcdsaSignature sign_data(const ecdsa256::PrivateKey &private_key, const ByteBuffer &data_buffer) override
boost::optional< Uncompressed > decompress_point(const EccPoint &ecc_point) override
openssl::Key internal_private_key(const ecdsa256::PrivateKey &) const
convert to internal format of private key
EcdsaSignature specified in TS 103 097 v1.2.1, section 4.2.9.