ssl_init.c revision 298770
1237578Sobrien#include "config.h"
2236769Sobrien
3236769Sobrien#include "ntp.h"
4236769Sobrien
5236769Sobrien#ifdef OPENSSL
6236769Sobrien# include "openssl/err.h"
7236769Sobrien# include "openssl/rand.h"
8236769Sobrien# include "openssl/evp.h"
9236769Sobrien#endif
10236769Sobrien
11236769Sobrien#include "unity.h"
12236769Sobrien
13236769Sobrien
14236769Sobrienstatic const size_t TEST_MD5_DIGEST_LENGTH = 16;
15236769Sobrienstatic const size_t TEST_SHA1_DIGEST_LENGTH = 20;
16236769Sobrien
17236769Sobrienvoid test_MD5KeyTypeWithoutDigestLength(void);
18236769Sobrienvoid test_MD5KeyTypeWithDigestLength(void);
19236769Sobrienvoid test_SHA1KeyTypeWithDigestLength(void);
20236769Sobrienvoid test_MD5KeyName(void);
21236769Sobrienvoid test_SHA1KeyName(void);
22236769Sobrien
23236769Sobrien
24236769Sobrien// keytype_from_text()
25236769Sobrienvoid
26236769Sobrientest_MD5KeyTypeWithoutDigestLength(void) {
27236769Sobrien	TEST_ASSERT_EQUAL(KEY_TYPE_MD5, keytype_from_text("MD5", NULL));
28236769Sobrien}
29236769Sobrien
30236769Sobrienvoid
31236769Sobrientest_MD5KeyTypeWithDigestLength(void) {
32236769Sobrien	size_t digestLength;
33236769Sobrien	size_t expected = TEST_MD5_DIGEST_LENGTH;
34236769Sobrien
35236769Sobrien	TEST_ASSERT_EQUAL(KEY_TYPE_MD5, keytype_from_text("MD5", &digestLength));
36236769Sobrien	TEST_ASSERT_EQUAL(expected, digestLength);
37236769Sobrien}
38236769Sobrien
39236769Sobrien
40236769Sobrienvoid
41236769Sobrientest_SHA1KeyTypeWithDigestLength(void) {
42236769Sobrien#ifdef OPENSSL
43236769Sobrien	size_t digestLength;
44236769Sobrien	size_t expected = TEST_SHA1_DIGEST_LENGTH;
45236769Sobrien
46236769Sobrien	TEST_ASSERT_EQUAL(NID_sha1, keytype_from_text("SHA1", &digestLength));
47236769Sobrien	TEST_ASSERT_EQUAL(expected, digestLength);
48236769Sobrien	/* OPENSSL */
49236769Sobrien#else
50236769Sobrien	TEST_IGNORE_MESSAGE("Skipping because OPENSSL isn't defined");
51236769Sobrien#endif
52236769Sobrien}
53236769Sobrien
54236769Sobrien
55236769Sobrien// keytype_name()
56236769Sobrienvoid
57236769Sobrientest_MD5KeyName(void) {
58236769Sobrien	TEST_ASSERT_EQUAL_STRING("MD5", keytype_name(KEY_TYPE_MD5));
59236769Sobrien}
60236769Sobrien
61236769Sobrien
62236769Sobrienvoid
63236769Sobrientest_SHA1KeyName(void) {
64236769Sobrien#ifdef OPENSSL
65236769Sobrien	TEST_ASSERT_EQUAL_STRING("SHA1", keytype_name(NID_sha1));
66236769Sobrien#else
67236769Sobrien	TEST_IGNORE_MESSAGE("Skipping because OPENSSL isn't defined");
68236769Sobrien#endif	/* OPENSSL */
69236769Sobrien}
70236769Sobrien