ndn-embeds 0.1.0
Lightweight NDN protocol stack for embedded systems
Loading...
Searching...
No Matches
signature.hpp
Go to the documentation of this file.
1
10#pragma once
11
12#include <cstddef>
13#include <cstdint>
14
15namespace ndn {
16
29
33constexpr size_t SHA256_DIGEST_SIZE = 32;
34constexpr size_t HMAC_SHA256_SIZE = 32;
35constexpr size_t ECDSA_P256_SIG_MAX_SIZE = 72;
36constexpr size_t ED25519_SIG_SIZE = 64;
37constexpr size_t RSA_2048_SIG_SIZE = 256;
38constexpr size_t SIGNATURE_MAX_SIZE = 72;
44constexpr size_t ECDSA_P256_PUBKEY_SIZE = 65;
45constexpr size_t ECDSA_P256_PRIVKEY_SIZE = 32;
46constexpr size_t ED25519_PUBKEY_SIZE = 32;
47constexpr size_t ED25519_PRIVKEY_SIZE = 32;
55constexpr const char* signatureTypeToString(SignatureType type) {
56 switch (type) {
57 case SignatureType::DigestSha256:
58 return "DigestSha256";
59 case SignatureType::SignatureSha256WithRsa:
60 return "SignatureSha256WithRsa";
61 case SignatureType::SignatureSha256WithEcdsa:
62 return "SignatureSha256WithEcdsa";
63 case SignatureType::SignatureHmacWithSha256:
64 return "SignatureHmacWithSha256";
65 case SignatureType::SignatureEd25519:
66 return "SignatureEd25519";
67 default:
68 return "Unknown";
69 }
70}
71
72} // namespace ndn
constexpr size_t SIGNATURE_MAX_SIZE
Maximum signature size (for ECDSA P-256, embedded)
Definition signature.hpp:38
constexpr size_t ECDSA_P256_PUBKEY_SIZE
ECDSA P-256 public key size (uncompressed form)
Definition signature.hpp:44
constexpr size_t ED25519_SIG_SIZE
Ed25519 signature size (bytes)
Definition signature.hpp:36
constexpr size_t ECDSA_P256_SIG_MAX_SIZE
ECDSA P-256 signature max size (DER format)
Definition signature.hpp:35
constexpr size_t HMAC_SHA256_SIZE
HMAC-SHA256 size (bytes)
Definition signature.hpp:34
constexpr size_t ED25519_PRIVKEY_SIZE
Ed25519 private key size.
Definition signature.hpp:47
SignatureType
Signature type.
Definition signature.hpp:22
@ SignatureSha256WithRsa
RSA signature (PKCS#1 v1.5)
@ SignatureEd25519
Ed25519 signature.
@ DigestSha256
SHA-256 digest (integrity only)
@ SignatureSha256WithEcdsa
ECDSA signature.
@ SignatureHmacWithSha256
HMAC-SHA256 (shared key)
constexpr size_t ECDSA_P256_PRIVKEY_SIZE
ECDSA P-256 private key size.
Definition signature.hpp:45
constexpr size_t SHA256_DIGEST_SIZE
SHA-256 digest size (bytes)
Definition signature.hpp:33
constexpr size_t RSA_2048_SIG_SIZE
RSA-2048 signature size (bytes)
Definition signature.hpp:37
constexpr size_t ED25519_PUBKEY_SIZE
Ed25519 public key size.
Definition signature.hpp:46
constexpr const char * signatureTypeToString(SignatureType type)
Convert signature type to string.
Definition signature.hpp:55