• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /***************************************************************************
2  *                                  _   _ ____  _
3  *  Project                     ___| | | |  _ \| |
4  *                             / __| | | | |_) | |
5  *                            | (__| |_| |  _ <| |___
6  *                             \___|\___/|_| \_\_____|
7  *
8  * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
9  *
10  * This software is licensed as described in the file COPYING, which
11  * you should have received as part of this distribution. The terms
12  * are also available at https://curl.se/docs/copyright.html.
13  *
14  * You may opt to use, copy, modify, merge, publish, distribute and/or sell
15  * copies of the Software, and permit persons to whom the Software is
16  * furnished to do so, under the terms of the COPYING file.
17  *
18  * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19  * KIND, either express or implied.
20  *
21  ***************************************************************************/
22 #include "curlcheck.h"
23 
24 #include "curl_hmac.h"
25 #include "curl_md5.h"
26 
unit_setup(void)27 static CURLcode unit_setup(void)
28 {
29   return CURLE_OK;
30 }
31 
unit_stop(void)32 static void unit_stop(void)
33 {
34 
35 }
36 
37 UNITTEST_START
38 
39 #ifndef CURL_DISABLE_CRYPTO_AUTH
40   const char password[] = "Pa55worD";
41   const char string1[] = "1";
42   const char string2[] = "hello-you-fool";
43   unsigned char output[HMAC_MD5_LENGTH];
44   unsigned char *testp = output;
45 
46   Curl_hmacit(Curl_HMAC_MD5,
47               (const unsigned char *) password, strlen(password),
48               (const unsigned char *) string1, strlen(string1),
49               output);
50 
51   verify_memory(testp,
52                 "\xd1\x29\x75\x43\x58\xdc\xab\x78\xdf\xcd\x7f\x2b\x29\x31\x13"
53                 "\x37", HMAC_MD5_LENGTH);
54 
55   Curl_hmacit(Curl_HMAC_MD5,
56               (const unsigned char *) password, strlen(password),
57               (const unsigned char *) string2, strlen(string2),
58               output);
59 
60   verify_memory(testp,
61                 "\x75\xf1\xa7\xb9\xf5\x40\xe5\xa4\x98\x83\x9f\x64\x5a\x27\x6d"
62                 "\xd0", HMAC_MD5_LENGTH);
63 #endif
64 
65 
66 UNITTEST_STOP
67