Abstraction of public key in crypto transformation. More...
#include <public-key.hpp>
Classes | |
class | Error |
Public Member Functions | |
PublicKey () | |
Create an empty public key instance. More... | |
~PublicKey () | |
KeyType | getKeyType () const |
Get the type of the public key. More... | |
void | loadPkcs8 (const uint8_t *buf, size_t size) |
Load the public key in PKCS#8 format from a buffer buf . More... | |
void | loadPkcs8 (std::istream &is) |
Load the public key in PKCS#8 format from a stream is . More... | |
void | loadPkcs8Base64 (const uint8_t *buf, size_t size) |
Load the public key in base64-encoded PKCS#8 format from a buffer buf . More... | |
void | loadPkcs8Base64 (std::istream &is) |
Load the public key in base64-encoded PKCS#8 format from a stream is . More... | |
void | savePkcs8 (std::ostream &os) const |
Save the public key in PKCS#8 format into a stream os . More... | |
void | savePkcs8Base64 (std::ostream &os) const |
Save the public key in base64-encoded PKCS#8 format into a stream os . More... | |
ConstBufferPtr | encrypt (const uint8_t *plainText, size_t plainLen) const |
Friends | |
class | VerifierFilter |
Abstraction of public key in crypto transformation.
Definition at line 35 of file public-key.hpp.
ndn::security::transform::PublicKey::PublicKey | ( | ) |
Create an empty public key instance.
One must call loadXXXX(...) to load a public key.
Definition at line 64 of file public-key.cpp.
|
default |
KeyType ndn::security::transform::PublicKey::getKeyType | ( | ) | const |
Get the type of the public key.
Definition at line 72 of file public-key.cpp.
References ndn::EC, ndn::security::detail::getEvpPkeyType(), ndn::NONE, and ndn::RSA.
Referenced by ndn::security::pib::detail::KeyImpl::KeyImpl(), and ndn::security::transform::VerifierFilter::VerifierFilter().
void ndn::security::transform::PublicKey::loadPkcs8 | ( | const uint8_t * | buf, |
size_t | size | ||
) |
Load the public key in PKCS#8 format from a buffer buf
.
Definition at line 88 of file public-key.cpp.
References ENSURE_PUBLIC_KEY_NOT_LOADED.
Referenced by ndn::security::v2::KeyChain::importSafeBag(), ndn::security::pib::detail::KeyImpl::KeyImpl(), loadPkcs8(), loadPkcs8Base64(), and ndn::security::verifySignature().
void ndn::security::transform::PublicKey::loadPkcs8 | ( | std::istream & | is | ) |
Load the public key in PKCS#8 format from a stream is
.
Definition at line 97 of file public-key.cpp.
References ndn::OBufferStream::buf(), loadPkcs8(), and ndn::security::transform::streamSink().
void ndn::security::transform::PublicKey::loadPkcs8Base64 | ( | const uint8_t * | buf, |
size_t | size | ||
) |
Load the public key in base64-encoded PKCS#8 format from a buffer buf
.
Definition at line 105 of file public-key.cpp.
References ndn::security::transform::base64Decode(), ndn::OBufferStream::buf(), loadPkcs8(), and ndn::security::transform::streamSink().
void ndn::security::transform::PublicKey::loadPkcs8Base64 | ( | std::istream & | is | ) |
Load the public key in base64-encoded PKCS#8 format from a stream is
.
Definition at line 113 of file public-key.cpp.
References ndn::security::transform::base64Decode(), ndn::OBufferStream::buf(), loadPkcs8(), and ndn::security::transform::streamSink().
void ndn::security::transform::PublicKey::savePkcs8 | ( | std::ostream & | os | ) | const |
Save the public key in PKCS#8 format into a stream os
.
Definition at line 121 of file public-key.cpp.
References ndn::security::transform::streamSink().
void ndn::security::transform::PublicKey::savePkcs8Base64 | ( | std::ostream & | os | ) | const |
Save the public key in base64-encoded PKCS#8 format into a stream os
.
Definition at line 127 of file public-key.cpp.
References ndn::security::transform::base64Encode(), and ndn::security::transform::streamSink().
ConstBufferPtr ndn::security::transform::PublicKey::encrypt | ( | const uint8_t * | plainText, |
size_t | plainLen | ||
) | const |
plainText
encrypted using this public key.Only RSA encryption is supported for now.
Definition at line 133 of file public-key.cpp.
References ENSURE_PUBLIC_KEY_LOADED, ndn::security::detail::getEvpPkeyType(), and ndn::to_string().
|
friend |
Definition at line 105 of file public-key.hpp.