// This is the main DLL file.
#include "stdafx.h"
#include "NetCryptLib.h"
#include "Utils.h"
using namespace NetCryptLib;
void CNETKeys::Create()
{
SetRSABufferSizes();
SetBlowFishSizes();
SetAESSizes();
RetrieveFromObject();
}
void CNETKeys::Destroy()
{
}
void CNETKeys::SetRSABufferSizes()
{
NETRSAmodulus = gcnew cli::array<System::Byte>(RSAKeyByteMaxSize);
NETRSAexponent = gcnew cli::array<System::Byte>(RSAKeyByteMaxSize);
NETRSAdp = gcnew cli::array<System::Byte>(RSAKeyByteMaxSize);
NETRSAdq = gcnew cli::array<System::Byte>(RSAKeyByteMaxSize);
NETRSAp = gcnew cli::array<System::Byte>(RSAKeyByteMaxSize);
NETRSAinverseq = gcnew cli::array<System::Byte>(RSAKeyByteMaxSize);
NETRSAq = gcnew cli::array<System::Byte>(RSAKeyByteMaxSize);
NETRSAd = gcnew cli::array<System::Byte>(RSAKeyByteMaxSize);
}
void CNETKeys::SetBlowFishSizes()
{
NETbfkey = gcnew cli::array<System::Byte>(keys->bfkeylen);
NETbfiv = gcnew cli::array<System::Byte>(keys->bfblocksize);
}
void CNETKeys::SetAESSizes()
{
NETAESkey = gcnew cli::array<System::Byte>(keys->AESkeylen);
NETAESiv = gcnew cli::array<System::Byte>(keys->AESblocksize);
}
void CNETKeys::AssignObject()
{
keys->RSAKeySize = NETRSAKeySize;
CUtils::FromManagedToNative(NETRSAmodulus, keys->RSAmodulus, NETRSAmodulus_size);
CUtils::FromManagedToNative(NETRSAexponent, keys->RSAexponent, NETRSAexponent_size);
CUtils::FromManagedToNative(NETRSAdp, keys->RSAdp, NETRSAdp_size);
CUtils::FromManagedToNative(NETRSAdq, keys->RSAdq, NETRSAdq_size);
CUtils::FromManagedToNative(NETRSAp, keys->RSAp, NETRSAp_size);
CUtils::FromManagedToNative(NETRSAq, keys->RSAq, NETRSAq_size);
CUtils::FromManagedToNative(NETRSAinverseq, keys->RSAinverseq, NETRSAinverseq_size);
CUtils::FromManagedToNative(NETRSAd, keys->RSAd, NETRSAd_size);
CUtils::FromManagedToNative(NETAESkey, keys->AESkey, NETAESkeylen);
CUtils::FromManagedToNative(NETAESiv, keys->AESiv, keys->AESblocksize);
CUtils::FromManagedToNative(NETbfkey, keys->bfkey, NETbfkeylen);
CUtils::FromManagedToNative(NETbfiv, keys->bfiv, keys->bfblocksize);
keys->RSAmodulus_size = NETRSAmodulus_size;
keys->RSAexponent_size = NETRSAexponent_size;
keys->RSAdp_size = NETRSAdp_size;
keys->RSAdq_size = NETRSAdq_size;
keys->RSAp_size = NETRSAp_size;
keys->RSAq_size = NETRSAq_size;
keys->RSAinverseq_size = NETRSAinverseq_size;
keys->RSAd_size = NETRSAd_size;
keys->iDEMlenKey = NETiDEMlenKey;
keys->bfkeylen = NETbfkeylen;
keys->AESkeylen = NETAESkeylen;
}
void CNETKeys::RetrieveFromObject()
{
NETRSAKeySize = keys->RSAKeySize;
CUtils::FromNativeToManaged(NETRSAmodulus, keys->RSAmodulus, keys->RSAmodulus_size);
CUtils::FromNativeToManaged(NETRSAexponent, keys->RSAexponent, keys->RSAexponent_size);
CUtils::FromNativeToManaged(NETRSAdp, keys->RSAdp, keys->RSAdp_size);
CUtils::FromNativeToManaged(NETRSAdq, keys->RSAdq, keys->RSAdq_size);
CUtils::FromNativeToManaged(NETRSAp, keys->RSAp, keys->RSAp_size);
CUtils::FromNativeToManaged(NETRSAinverseq, keys->RSAinverseq, keys->RSAinverseq_size);
CUtils::FromNativeToManaged(NETRSAd, keys->RSAd, keys->RSAd_size);
CUtils::FromNativeToManaged(NETAESkey, keys->AESkey, keys->AESkeylen);
CUtils::FromNativeToManaged(NETAESiv, keys->AESiv, keys->AESblocksize);
CUtils::FromNativeToManaged(NETbfkey, keys->bfkey, keys->bfkeylen);
CUtils::FromNativeToManaged(NETbfiv, keys->bfiv, keys->bfblocksize);
NETRSAmodulus_size = keys->RSAmodulus_size;
NETRSAexponent_size = keys->RSAexponent_size;
NETRSAdp_size = keys->RSAdp_size;
NETRSAdq_size = keys->RSAdq_size;
NETRSAp_size = keys->RSAp_size;
NETRSAq_size = keys->RSAq_size;
NETRSAinverseq_size = keys->RSAinverseq_size;
NETRSAd_size = keys->RSAd_size;
NETiDEMlenKey = keys->iDEMlenKey;
NETbfkeylen = keys->bfkeylen;
NETAESkeylen = keys->AESkeylen;
}