Thanks Jeffrey,
Actually what I am trying to do is quite simple. It's just that I
cannot find the information on internet(*). Here is what I have so far:
void Base64ToInteger(const char *base64String, Integer &xmlint)
{
StringSource mod_s( base64String, true, new Base64Decoder);
unsigned long mrs = mod_s.MaxRetrievable();
char* mod_sstr = new char[mrs];
mod_s.Get( (unsigned char*)mod_sstr, mrs );
xmlint = Integer(mod_sstr);
delete[] mod_sstr;
}
RSA::PublicKey CreatePublicKey()
{
const char modulus[] =
"wehzXu32ipNZZkhWqYMVrKoWs4o5AfPKZbdTLVVt8jPfC09yKzC/ajJTeGm87moeU+yZ6Lz8PXsKOmxxNFBE3vQpbMEq++fCjhI0QdC4q/h0H6FePN7MC3WZmR0hpI3yp5sGNfBSBMPNRsnpEGI00ByxQp1N8R9hj9pc0OvwswE=";
const char exponent[] = "AQAB";
Integer mod, exp;
Base64ToInteger(modulus, mod);
Base64ToInteger(exponent, exp);
RSA::PublicKey key;
key.Initialize(mod, exp);
return key;
}
int main()
{
RSA::PublicKey pubKey = CreatePublicKey();
const char message[] = "hello";
RSAES_OAEP_SHA_Encryptor pub(pubKey);
AutoSeededRandomPool randPool;
std::string result;
StringSource(message, true, new PK_EncryptorFilter(randPool, pub,
new Base64Encoder(new StringSink(result))));
}
All I get is:
terminate called after throwing an instance of
'CryptoPP::InvalidArgument'
what(): RSA/OAEP-MGF1(SHA-1): message too long for this public key
All I am trying is do the RSA encryption by setting parameter
one by
one, reading each XML elements(**).
Any suggestion ? Thanks
Mathieu
(*)
So I found this post by accident.
http://www.mail-archive.com/[email protected]/msg01619.html
Indeed if you try to find this post by using keyword like 'SetModulus'
or 'SetPublicExponent', I cannot find it either by using the internal
search engine or via google:
http://www.google.com/search?hl=en&q=SetPublicExponent+site%3Awww.mail-archive.com
(**)
http://www.w3.org/TR/xmldsig-core/#sec-RSAKeyValue
Jeffrey Walton wrote:
> Hi Mathieu,
>
> I would assume you would provide a Cryptographic Sservice Package
> (CSP). But I've never looked into in.
>
>> I am looking to replace the .NET Framework
>> crypto class by the CryptoPP one.
> You probably cannot replace the .NET cryptography package per se. You
> would provide the CSP, and then set it as the machine default CSP.
> Again, I'm shooting from the hip.
>
> Jeff
>
> On 9/11/06, Mathieu Malaterre <[EMAIL PROTECTED]> wrote:
>> Hello,
>>
>> I am looking to replace the .NET Framework crypto class by the
>> CryptoPP
>> one. Has anyone try doing so ? Could they share there experience ?
I am
>> having a hard time understanding how to setup manually all the
>> parameters (Modulus, Exponent, InverseQ...) are there any examples
>> somewhere that I can look at ?
>> Finally the only post I was able to find mentionned a
problem of
>> endianness:
>>
>>
http://www.eggheadcafe.com/forumarchives/win32programmerdirectxvideo/dec2005/post24849638.asp
>>
>>
>> Is this something that has been solved since ?
>>
>> Thanks for your time,
>> Mathieu
>>
>>
>
>