FBB::CryptBuf(3bobcat) | Base class for DecryptBuf and EncryptBuf | FBB::CryptBuf(3bobcat) |
FBB::CryptBuf - std::streambuf derived base class for DecryptBuf and EncryptBuf
#include <bobcat/cryptbuf>
Linking option: -lbobcat -lcrypto
The class CryptBuf inherits from EoiBuf and may therefore be used as a base class of classes specializing std::streambuf. It is used as base class for the classes DecryptBuf and EncryptBuf, offering a protected member for accessing cipher information.
FBB
All constructors, members, operators and manipulators, mentioned in this
man-page, are defined in the namespace FBB.
EoiBuf (and thus from: std::streambuf)
Analogously to std::streambuf only a protected constructor is available.
Copy and move constructors (and assignment operators) are not available.
All members of std:streambuf and EoiBuf are available, as FBB::CryptBuf inherits from these classes.
Here is an example from the implementation of EncryptBuf’s constructor:
#include "encryptbuf.ih" EncryptBuf::EncryptBuf(ostream &outStream, char const *type,
string key, string const &iv, size_t size) :
CryptBuf(type, size),
d_ctx(EVP_CIPHER_CTX_new()),
d_encrypted(size + EVP_MAX_BLOCK_LENGTH, 0),
d_iv(iv),
d_key(key),
d_outStream(outStream) {
prepareIV();
if (
not EVP_EncryptInit_ex(d_ctx, md(), 0, ucharPtr(d_key),
ucharPtr(d_iv))
)
throw Exception{ 1 } << "Encrypt initialization failed";
setp(); }
bobcat/cryptbuf - defines the class interface
bobcat(7), decryptbuf(3bobcat), encryptbuf(3bobcat), eoibuf(3bobcat), eoi(3bobcat)
None Reported.
Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.
This is free software, distributed under the terms of the GNU General Public License (GPL).
Frank B. Brokken (f.b.brokken@rug.nl).
2005-2020 | libbobcat-dev_5.07.00 |