|
NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
|
API Documentation
|
Go to the documentation of this file.
22 #ifndef NDN_SECURITY_KEY_PARAMS_HPP
23 #define NDN_SECURITY_KEY_PARAMS_HPP
38 class Error :
public std::runtime_error
41 using std::runtime_error::runtime_error;
148 template<
typename KeyParamsInfo>
155 uint32_t size = KeyParamsInfo::getDefaultSize())
156 :
KeyParams(KeyParamsInfo::getType(), keyId)
170 :
KeyParams(KeyParamsInfo::getType(), keyIdType)
183 setKeySize(uint32_t size)
185 m_size = KeyParamsInfo::checkKeySize(size);
189 getDefaultKeySize()
const
191 return KeyParamsInfo::getDefaultSize();
255 template<
typename KeyParamsInfo>
262 uint32_t size = KeyParamsInfo::getDefaultSize())
263 :
KeyParams(KeyParamsInfo::getType(), keyId)
277 :
KeyParams(KeyParamsInfo::getType(), keyIdType)
290 setKeySize(uint32_t size)
292 m_size = KeyParamsInfo::checkKeySize(size);
296 getDefaultKeySize()
const
298 return KeyParamsInfo::getDefaultSize();
313 #endif // NDN_SECURITY_KEY_PARAMS_HPP
KeyType
The type of a cryptographic key.
RsaKeyParamInfo is used to instantiate SimplePublicKeyParams for RSA keys.
Base class for key parameters.
@ RANDOM
Use a 64-bit random number as key id.
KeyIdType
The type of KeyId component in a key name.
static uint32_t getDefaultSize()
static uint32_t checkKeySize(uint32_t size)
check if size is valid and supported for this key type.
static uint32_t getDefaultSize()
SimplePublicKeyParams< detail::EcKeyParamsInfo > EcKeyParams
EcKeyParams carries parameters for EC key.
const name::Component & getKeyId() const
SimplePublicKeyParams(uint32_t size=KeyParamsInfo::getDefaultSize(), KeyIdType keyIdType=KeyIdType::RANDOM)
Create key parameters with auto-generated key id.
AesKeyParamsInfo is used to instantiate SimpleSymmetricKeyParams for AES keys.
SimplePublicKeyParams< detail::RsaKeyParamsInfo > RsaKeyParams
RsaKeyParams carries parameters for RSA key.
@ EC
Elliptic Curve key (e.g. for ECDSA), supports sign/verify operations.
KeyIdType getKeyIdType() const
uint32_t getKeySize() const
static uint32_t checkKeySize(uint32_t size)
check if size is valid and supported for this key type.
static uint32_t checkKeySize(uint32_t size)
check if size is valid and supported for this key type.
EcKeyParamInfo is used to instantiate SimplePublicKeyParams for elliptic curve keys.
KeyType getKeyType() const
uint32_t getKeySize() const
@ HMAC
HMAC key, supports sign/verify operations.
void setKeyId(const name::Component &keyId)
static constexpr KeyType getType()
static uint32_t checkKeySize(uint32_t size)
check if size is valid and supported for this key type.
SimpleSymmetricKeyParams< detail::HmacKeyParamsInfo > HmacKeyParams
HmacKeyParams carries parameters for HMAC key.
SimpleSymmetricKeyParams< detail::AesKeyParamsInfo > AesKeyParams
AesKeyParams carries parameters for AES key.
SimplePublicKeyParams is a template for public keys with only one parameter: size.
static constexpr KeyType getType()
SimpleSymmetricKeyParams(const name::Component &keyId, uint32_t size=KeyParamsInfo::getDefaultSize())
Create key parameters with user-specified key id.
static constexpr KeyType getType()
Represents a name component.
SimpleSymmetricKeyParams(uint32_t size=KeyParamsInfo::getDefaultSize(), KeyIdType keyIdType=KeyIdType::RANDOM)
Create key parameters with auto-generated key id.
HmacKeyParamsInfo is used to instantiate SimpleSymmetricKeyParams for HMAC keys.
SimplePublicKeyParams(const name::Component &keyId, uint32_t size=KeyParamsInfo::getDefaultSize())
Create key parameters with user-specified key id.
SimpleSymmetricKeyParams is a template for symmetric keys with only one parameter: size.
KeyParams(KeyType keyType, KeyIdType keyIdType)
Constructor.
static constexpr KeyType getType()
@ AES
AES key, supports encrypt/decrypt operations.
@ RSA
RSA key, supports sign/verify and encrypt/decrypt operations.
static uint32_t getDefaultSize()
Copyright (c) 2011-2015 Regents of the University of California.
static uint32_t getDefaultSize()