6#include "Features/IModularFeatures.h"
7#include "Containers/ArrayView.h"
15
16
19 static const FName Name(
TEXT(
"EngineCryptoFeature"));
24
25
29
30
31 virtual FRSAKeyHandle CreateRSAKey(
const TArrayView<
const uint8> InPublicExponent,
const TArrayView<
const uint8> InPrivateExponent,
const TArrayView<
const uint8> InModulus) = 0;
34
35
39
40
44
45
49
50
54
55
59
60
64
65
static constexpr FRSAKeyHandle InvalidRSAKeyHandle
virtual FRSAKeyHandle CreateRSAKey(const TArrayView< const uint8 > InPublicExponent, const TArrayView< const uint8 > InPrivateExponent, const TArrayView< const uint8 > InModulus)=0
virtual int32 DecryptPrivate(const TArrayView< const uint8 > InSource, TArray< uint8 > &OutDestination, FRSAKeyHandle InKey)=0
virtual int32 DecryptPublic(const TArrayView< const uint8 > InSource, TArray< uint8 > &OutDestination, FRSAKeyHandle InKey)=0
virtual void DestroyRSAKey(FRSAKeyHandle InKey)=0
virtual void Shutdown()=0
virtual int32 GetKeySize(FRSAKeyHandle InKey)=0
virtual int32 EncryptPublic(const TArrayView< const uint8 > InSource, TArray< uint8 > &OutDestination, FRSAKeyHandle InKey)=0
virtual int32 GetMaxDataSize(FRSAKeyHandle InKey)=0
virtual int32 EncryptPrivate(const TArrayView< const uint8 > InSource, TArray< uint8 > &OutDestination, FRSAKeyHandle InKey)=0
static FORCEINLINE FName GetFeatureName()