#include "Stroika/Foundation/StroikaPreComp.h"
#include "Stroika/Foundation/Common/Common.h"
#include "Stroika/Foundation/Cryptography/Providers/OpenSSL/CipherAlgorithm.h"
#include "Stroika/Foundation/Cryptography/Providers/OpenSSL/DerivedKey.h"
#include "Stroika/Foundation/Cryptography/Providers/OpenSSL/DigestAlgorithm.h"
#include "Stroika/Foundation/Cryptography/Providers/OpenSSL/Exception.h"
#include "Stroika/Foundation/Cryptography/SSL/Common.h"
#include "Stroika/Foundation/Execution/Exceptions.h"
#include "Stroika/Foundation/Execution/Synchronized.h"
#include "Stroika/Foundation/Memory/BLOB.h"
#include "Stroika/Foundation/Memory/Common.h"
#include "Stroika/Foundation/Streams/InputStream.h"
#include "Stroika/Foundation/Streams/OutputStream.h"
#include "OpenSSLCryptoStream.inl"
Go to the source code of this file.
Namespaces | |
namespace | Stroika::Foundation |
TODO:
See nt do_crypt(FILE *in, FILE *out, int do_encrypt) example.,
From examples, one bug maybe the value of inital_iv - EVP_CipherInit_ex - that the call may expect its the right lenght but the length is user-specified.. I may need to init to zero (or some such), and copy in user data.
I think for BOTH key and iv we must look at expected keylen/iplen and pass in data that matches the length. Maybe set what hack we did for CipherAlgorithm::eRC4?? set key length based on what is passed in?
We maybe can (mostly/always) set iv to NULL???
#if 0 // DEBUG WHY THIS FAILS - I THINK WE NEED TO ENABLE PADDING FOR SOME CYPHERS! BLOB ((const byte*)kSrc4_, (const byte*)kSrc4_ + ::strlen(kSrc4_)), #endif
DONE for AES - BUt do the others - just like that - and maybe cleanup Base64/MD5 APIs to be done like for AES... ...
Definition in file OpenSSLCryptoStream.h.