Hi Karol, Below is Wei's use of the function located in validat3.cpp, line 453. It looks like a cast will fix your problem.
Jeff
bool ValidateHMAC()
{
typedef HMAC<MD5> HMAC_MD5;
const char* keys[]=
{
"\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b",
"Jefe",
"\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA",
"\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA"
"\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA"
"\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA"
"\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA"
"\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA"
};
HashTestTuple testSet[] =
{
HashTestTuple("Hi There",
"\x92\x94\x72\x7a\x36\x38\xbb\x1c\x13\xf4\x8e\xf8\x15\x8b\xfc\x9d"),
HashTestTuple("what do ya want for nothing?",
"\x75\x0c\x78\x3e\x6a\xb0\xb5\x03\xea\xa8\x6e\x31\x0a\x5d\xb7\x38"),
HashTestTuple("\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\
xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\
xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
,
"\x56\xbe\x34\x52\x1d\x14\x4c\x88\xdb\xb8\xc7\x33\xf0\xe8\xb3\xf6"),
HashTestTuple("Test Using Larger Than Block-Size Key -
Hash Key First",
"\x6b\x1a\xb7\xfe\x4b\xd7\xbf\x8f\x0b\x62\xe6\xce\x61\xb9\xd0\xcd")
};
bool pass=true;
cout << "\nHMAC/MD5 validation suite running...\n";
for (int k=0; k<4; k++)
{
HMAC_MD5 mac((byte *)keys[k], strlen(keys[k]));
cout << "\nKEY: ";
for (int j=0; keys[k][j] != 0; j++)
cout << setw(2) << setfill('0') << hex <<
(int)(byte)keys[k][j];
cout << endl;
pass = HashModuleTest(mac, testSet+k, 1) && pass;
}
return pass;
}
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Karol Krizka
> Sent: Friday, December 19, 2003 11:21 PM
> To: [EMAIL PROTECTED]
> Subject: HMAC errors (char to byte conversion)
>
>
> Hi,
> I am new to using this library. I am only using it because I
> want my program to hash something using HMAC. I am trying to
> figure it out. Here's my code:
>
> ...
>
> When I compile it with gcc 3.3.2, I get the following errors:
> g++ main.cpp -lcryptopp -o test
> main.cpp: In function `int main(int, char**)':
> main.cpp:18: error: invalid conversion from `const char*' to
> `const byte*'
>
> ...
smime.p7s
Description: S/MIME cryptographic signature
