Merge pull request #211 from libtom/pr/win32-rng_nix
Windows: fix various compiler warnings
This commit is contained in:
commit
08cc78007b
@ -9,8 +9,6 @@
|
|||||||
|
|
||||||
#include <tomcrypt.h>
|
#include <tomcrypt.h>
|
||||||
|
|
||||||
int errno;
|
|
||||||
|
|
||||||
int usage(char *name)
|
int usage(char *name)
|
||||||
{
|
{
|
||||||
int x;
|
int x;
|
||||||
@ -103,6 +101,7 @@ int main(int argc, char *argv[])
|
|||||||
char *infile, *outfile, *cipher;
|
char *infile, *outfile, *cipher;
|
||||||
prng_state prng;
|
prng_state prng;
|
||||||
FILE *fdin, *fdout;
|
FILE *fdin, *fdout;
|
||||||
|
int err;
|
||||||
|
|
||||||
/* register algs, so they can be printed */
|
/* register algs, so they can be printed */
|
||||||
register_algs();
|
register_algs();
|
||||||
@ -180,8 +179,8 @@ int main(int argc, char *argv[])
|
|||||||
if(fgets((char *)tmpkey,sizeof(tmpkey), stdin) == NULL)
|
if(fgets((char *)tmpkey,sizeof(tmpkey), stdin) == NULL)
|
||||||
exit(-1);
|
exit(-1);
|
||||||
outlen = sizeof(key);
|
outlen = sizeof(key);
|
||||||
if ((errno = hash_memory(hash_idx,tmpkey,strlen((char *)tmpkey),key,&outlen)) != CRYPT_OK) {
|
if ((err = hash_memory(hash_idx,tmpkey,strlen((char *)tmpkey),key,&outlen)) != CRYPT_OK) {
|
||||||
printf("Error hashing key: %s\n", error_to_string(errno));
|
printf("Error hashing key: %s\n", error_to_string(err));
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -192,8 +191,8 @@ int main(int argc, char *argv[])
|
|||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((errno = ctr_start(cipher_idx,IV,key,ks,0,CTR_COUNTER_LITTLE_ENDIAN,&ctr)) != CRYPT_OK) {
|
if ((err = ctr_start(cipher_idx,IV,key,ks,0,CTR_COUNTER_LITTLE_ENDIAN,&ctr)) != CRYPT_OK) {
|
||||||
printf("ctr_start error: %s\n",error_to_string(errno));
|
printf("ctr_start error: %s\n",error_to_string(err));
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -201,8 +200,8 @@ int main(int argc, char *argv[])
|
|||||||
do {
|
do {
|
||||||
y = fread(inbuf,1,sizeof(inbuf),fdin);
|
y = fread(inbuf,1,sizeof(inbuf),fdin);
|
||||||
|
|
||||||
if ((errno = ctr_decrypt(inbuf,plaintext,y,&ctr)) != CRYPT_OK) {
|
if ((err = ctr_decrypt(inbuf,plaintext,y,&ctr)) != CRYPT_OK) {
|
||||||
printf("ctr_decrypt error: %s\n", error_to_string(errno));
|
printf("ctr_decrypt error: %s\n", error_to_string(err));
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -217,8 +216,8 @@ int main(int argc, char *argv[])
|
|||||||
} else { /* encrypt */
|
} else { /* encrypt */
|
||||||
/* Setup yarrow for random bytes for IV */
|
/* Setup yarrow for random bytes for IV */
|
||||||
|
|
||||||
if ((errno = rng_make_prng(128, find_prng("yarrow"), &prng, NULL)) != CRYPT_OK) {
|
if ((err = rng_make_prng(128, find_prng("yarrow"), &prng, NULL)) != CRYPT_OK) {
|
||||||
printf("Error setting up PRNG, %s\n", error_to_string(errno));
|
printf("Error setting up PRNG, %s\n", error_to_string(err));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* You can use rng_get_bytes on platforms that support it */
|
/* You can use rng_get_bytes on platforms that support it */
|
||||||
@ -234,16 +233,16 @@ int main(int argc, char *argv[])
|
|||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((errno = ctr_start(cipher_idx,IV,key,ks,0,CTR_COUNTER_LITTLE_ENDIAN,&ctr)) != CRYPT_OK) {
|
if ((err = ctr_start(cipher_idx,IV,key,ks,0,CTR_COUNTER_LITTLE_ENDIAN,&ctr)) != CRYPT_OK) {
|
||||||
printf("ctr_start error: %s\n",error_to_string(errno));
|
printf("ctr_start error: %s\n",error_to_string(err));
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
do {
|
do {
|
||||||
y = fread(inbuf,1,sizeof(inbuf),fdin);
|
y = fread(inbuf,1,sizeof(inbuf),fdin);
|
||||||
|
|
||||||
if ((errno = ctr_encrypt(inbuf,ciphertext,y,&ctr)) != CRYPT_OK) {
|
if ((err = ctr_encrypt(inbuf,ciphertext,y,&ctr)) != CRYPT_OK) {
|
||||||
printf("ctr_encrypt error: %s\n", error_to_string(errno));
|
printf("ctr_encrypt error: %s\n", error_to_string(err));
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,6 +15,11 @@
|
|||||||
#define basename(x) x
|
#define basename(x) x
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if !defined(PATH_MAX) && defined(_MSC_VER)
|
||||||
|
#include <windows.h>
|
||||||
|
#define PATH_MAX MAX_PATH
|
||||||
|
#endif
|
||||||
|
|
||||||
/* thanks http://stackoverflow.com/a/8198009 */
|
/* thanks http://stackoverflow.com/a/8198009 */
|
||||||
#define _base(x) ((x >= '0' && x <= '9') ? '0' : \
|
#define _base(x) ((x >= '0' && x <= '9') ? '0' : \
|
||||||
(x >= 'a' && x <= 'f') ? 'a' - 10 : \
|
(x >= 'a' && x <= 'f') ? 'a' - 10 : \
|
||||||
|
11
demos/test.c
11
demos/test.c
@ -33,7 +33,8 @@ int main(int argc, char **argv)
|
|||||||
int x, pass = 0, fail = 0, nop = 0;
|
int x, pass = 0, fail = 0, nop = 0;
|
||||||
size_t fn_len, i, dots;
|
size_t fn_len, i, dots;
|
||||||
char *single_test = NULL;
|
char *single_test = NULL;
|
||||||
ulong64 ts, dur = 0;
|
ulong64 ts;
|
||||||
|
long delta, dur = 0;
|
||||||
reg_algs();
|
reg_algs();
|
||||||
|
|
||||||
printf("build == \n%s\n", crypt_build_settings);
|
printf("build == \n%s\n", crypt_build_settings);
|
||||||
@ -77,11 +78,11 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
ts = epoch_usec();
|
ts = epoch_usec();
|
||||||
x = test_functions[i].fn();
|
x = test_functions[i].fn();
|
||||||
ts = epoch_usec() - ts;
|
delta = (long)(epoch_usec() - ts);
|
||||||
dur += ts;
|
dur += delta;
|
||||||
|
|
||||||
if (x == CRYPT_OK) {
|
if (x == CRYPT_OK) {
|
||||||
printf("passed %10.3fms", (double)(ts)/1000);
|
printf("passed %10.3fms", (double)(delta)/1000);
|
||||||
pass++;
|
pass++;
|
||||||
}
|
}
|
||||||
else if (x == CRYPT_NOP) {
|
else if (x == CRYPT_NOP) {
|
||||||
@ -89,7 +90,7 @@ int main(int argc, char **argv)
|
|||||||
nop++;
|
nop++;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
printf("failed %10.3fms", (double)(ts)/1000);
|
printf("failed %10.3fms", (double)(delta)/1000);
|
||||||
fail++;
|
fail++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -747,14 +747,14 @@ void gcm_gen(void)
|
|||||||
void base64_gen(void)
|
void base64_gen(void)
|
||||||
{
|
{
|
||||||
FILE *out;
|
FILE *out;
|
||||||
unsigned char dst[256], src[32];
|
unsigned char dst[256], src[32], ch;
|
||||||
unsigned long x, y, len;
|
unsigned long x, len;
|
||||||
|
|
||||||
out = fopen("base64_tv.txt", "w");
|
out = fopen("base64_tv.txt", "w");
|
||||||
fprintf(out, "Base64 vectors. These are the base64 encodings of the strings 00,01,02...NN-1\n\n");
|
fprintf(out, "Base64 vectors. These are the base64 encodings of the strings 00,01,02...NN-1\n\n");
|
||||||
for (x = 0; x <= 32; x++) {
|
for (x = 0; x <= 32; x++) {
|
||||||
for (y = 0; y < x; y++) {
|
for (ch = 0; ch < x; ch++) {
|
||||||
src[y] = y;
|
src[ch] = ch;
|
||||||
}
|
}
|
||||||
len = sizeof(dst);
|
len = sizeof(dst);
|
||||||
base64_encode(src, x, dst, &len);
|
base64_encode(src, x, dst, &len);
|
||||||
|
@ -46,7 +46,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="src\headers,..\libtommath"
|
AdditionalIncludeDirectories="src\headers,..\libtommath"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES"
|
PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
ExceptionHandling="0"
|
ExceptionHandling="0"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
@ -123,7 +123,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="src\headers,..\libtommath"
|
AdditionalIncludeDirectories="src\headers,..\libtommath"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="0"
|
ExceptionHandling="0"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
@ -199,7 +199,7 @@
|
|||||||
Name="VCCLCompilerTool"
|
Name="VCCLCompilerTool"
|
||||||
Optimization="0"
|
Optimization="0"
|
||||||
AdditionalIncludeDirectories="src\headers,..\libtommath"
|
AdditionalIncludeDirectories="src\headers,..\libtommath"
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES"
|
PreprocessorDefinitions="WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES"
|
||||||
MinimalRebuild="true"
|
MinimalRebuild="true"
|
||||||
ExceptionHandling="0"
|
ExceptionHandling="0"
|
||||||
BasicRuntimeChecks="3"
|
BasicRuntimeChecks="3"
|
||||||
@ -277,7 +277,7 @@
|
|||||||
Optimization="2"
|
Optimization="2"
|
||||||
InlineFunctionExpansion="1"
|
InlineFunctionExpansion="1"
|
||||||
AdditionalIncludeDirectories="src\headers,..\libtommath"
|
AdditionalIncludeDirectories="src\headers,..\libtommath"
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES"
|
PreprocessorDefinitions="WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;LTM_DESC;LTC_SOURCE;LTC_NO_TEST;LTC_NO_PROTOTYPES"
|
||||||
StringPooling="true"
|
StringPooling="true"
|
||||||
ExceptionHandling="0"
|
ExceptionHandling="0"
|
||||||
RuntimeLibrary="0"
|
RuntimeLibrary="0"
|
||||||
|
@ -29,7 +29,7 @@ int chacha20poly1305_decrypt(chacha20poly1305_state *st, const unsigned char *in
|
|||||||
LTC_ARGCHK(st != NULL);
|
LTC_ARGCHK(st != NULL);
|
||||||
|
|
||||||
if (st->aadflg) {
|
if (st->aadflg) {
|
||||||
padlen = 16 - (st->aadlen % 16);
|
padlen = 16 - (unsigned long)(st->aadlen % 16);
|
||||||
if (padlen < 16) {
|
if (padlen < 16) {
|
||||||
if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err;
|
if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err;
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,7 @@ int chacha20poly1305_done(chacha20poly1305_state *st, unsigned char *tag, unsign
|
|||||||
|
|
||||||
LTC_ARGCHK(st != NULL);
|
LTC_ARGCHK(st != NULL);
|
||||||
|
|
||||||
padlen = 16 - (st->ctlen % 16);
|
padlen = 16 - (unsigned long)(st->ctlen % 16);
|
||||||
if (padlen < 16) {
|
if (padlen < 16) {
|
||||||
if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err;
|
if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err;
|
||||||
}
|
}
|
||||||
|
@ -30,7 +30,7 @@ int chacha20poly1305_encrypt(chacha20poly1305_state *st, const unsigned char *in
|
|||||||
|
|
||||||
if ((err = chacha_crypt(&st->chacha, in, inlen, out)) != CRYPT_OK) return err;
|
if ((err = chacha_crypt(&st->chacha, in, inlen, out)) != CRYPT_OK) return err;
|
||||||
if (st->aadflg) {
|
if (st->aadflg) {
|
||||||
padlen = 16 - (st->aadlen % 16);
|
padlen = 16 - (unsigned long)(st->aadlen % 16);
|
||||||
if (padlen < 16) {
|
if (padlen < 16) {
|
||||||
if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err;
|
if ((err = poly1305_process(&st->poly, padzero, padlen)) != CRYPT_OK) return err;
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
portable way to get secure random bits to feed a PRNG (Tom St Denis)
|
portable way to get secure random bits to feed a PRNG (Tom St Denis)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef LTC_DEVRANDOM
|
#if defined(LTC_DEVRANDOM) && !defined(_WIN32)
|
||||||
/* on *NIX read /dev/random */
|
/* on *NIX read /dev/random */
|
||||||
static unsigned long rng_nix(unsigned char *buf, unsigned long len,
|
static unsigned long rng_nix(unsigned char *buf, unsigned long len,
|
||||||
void (*callback)(void))
|
void (*callback)(void))
|
||||||
|
@ -263,7 +263,7 @@ int sober128_stream_crypt(sober128_state *c, const unsigned char *in, unsigned l
|
|||||||
|
|
||||||
/* handle any previously buffered bytes */
|
/* handle any previously buffered bytes */
|
||||||
while (c->nbuf != 0 && inlen != 0) {
|
while (c->nbuf != 0 && inlen != 0) {
|
||||||
*out++ = *in++ ^ (c->sbuf & 0xFF);
|
*out++ = *in++ ^ (unsigned char)(c->sbuf & 0xFF);
|
||||||
c->sbuf >>= 8;
|
c->sbuf >>= 8;
|
||||||
c->nbuf -= 8;
|
c->nbuf -= 8;
|
||||||
--inlen;
|
--inlen;
|
||||||
@ -311,7 +311,7 @@ int sober128_stream_crypt(sober128_state *c, const unsigned char *in, unsigned l
|
|||||||
c->sbuf = nltap(c);
|
c->sbuf = nltap(c);
|
||||||
c->nbuf = 32;
|
c->nbuf = 32;
|
||||||
while (c->nbuf != 0 && inlen != 0) {
|
while (c->nbuf != 0 && inlen != 0) {
|
||||||
*out++ = *in++ ^ (c->sbuf & 0xFF);
|
*out++ = *in++ ^ (unsigned char)(c->sbuf & 0xFF);
|
||||||
c->sbuf >>= 8;
|
c->sbuf >>= 8;
|
||||||
c->nbuf -= 8;
|
c->nbuf -= 8;
|
||||||
--inlen;
|
--inlen;
|
||||||
|
@ -6,12 +6,12 @@ int base64_test(void)
|
|||||||
unsigned char in[64], out[256], tmp[64];
|
unsigned char in[64], out[256], tmp[64];
|
||||||
unsigned long x, l1, l2, slen1;
|
unsigned long x, l1, l2, slen1;
|
||||||
|
|
||||||
#if defined(LTC_BASE64)
|
const unsigned char special_case[] = {
|
||||||
const char special_case[] = {
|
|
||||||
0xbe, 0xe8, 0x92, 0x3c, 0xa2, 0x25, 0xf0, 0xf8,
|
0xbe, 0xe8, 0x92, 0x3c, 0xa2, 0x25, 0xf0, 0xf8,
|
||||||
0x91, 0xe4, 0xef, 0xab, 0x0b, 0x8c, 0xfd, 0xff,
|
0x91, 0xe4, 0xef, 0xab, 0x0b, 0x8c, 0xfd, 0xff,
|
||||||
0x14, 0xd0, 0x29, 0x9d, 0x00 };
|
0x14, 0xd0, 0x29, 0x9d, 0x00 };
|
||||||
|
|
||||||
|
#if defined(LTC_BASE64)
|
||||||
/*
|
/*
|
||||||
TEST CASES SOURCE:
|
TEST CASES SOURCE:
|
||||||
|
|
||||||
@ -31,7 +31,7 @@ int base64_test(void)
|
|||||||
{"foob", "Zm9vYg==" },
|
{"foob", "Zm9vYg==" },
|
||||||
{"fooba", "Zm9vYmE=" },
|
{"fooba", "Zm9vYmE=" },
|
||||||
{"foobar", "Zm9vYmFy"},
|
{"foobar", "Zm9vYmFy"},
|
||||||
{special_case,"vuiSPKIl8PiR5O+rC4z9/xTQKZ0="}
|
{(char*)special_case,"vuiSPKIl8PiR5O+rC4z9/xTQKZ0="}
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -59,7 +59,7 @@ int base64_test(void)
|
|||||||
DO(base64url_strict_decode((unsigned char*)url_cases[x].s, slen1, out, &l1));
|
DO(base64url_strict_decode((unsigned char*)url_cases[x].s, slen1, out, &l1));
|
||||||
else
|
else
|
||||||
DO(base64url_decode((unsigned char*)url_cases[x].s, slen1, out, &l1));
|
DO(base64url_decode((unsigned char*)url_cases[x].s, slen1, out, &l1));
|
||||||
if (compare_testvector(out, l1, special_case, strlen(special_case), "base64url decode", x)) {
|
if (compare_testvector(out, l1, special_case, sizeof(special_case) - 1, "base64url decode", x)) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if(x < 2) {
|
if(x < 2) {
|
||||||
|
@ -14,74 +14,74 @@ int der_tests(void)
|
|||||||
#else
|
#else
|
||||||
|
|
||||||
static const unsigned char _der_tests_stinky_root_cert[] =
|
static const unsigned char _der_tests_stinky_root_cert[] =
|
||||||
"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"
|
||||||
JQQMMAoGCCsGAQUFBwMDMBEGCWCGSAGG+EIBAQQEAwIEEDBGBgNVHSAEPzA9MDsG\
|
"JQQMMAoGCCsGAQUFBwMDMBEGCWCGSAGG+EIBAQQEAwIEEDBGBgNVHSAEPzA9MDsG"
|
||||||
DCsGAQQBsjEBAgEDAjArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21v\
|
"DCsGAQQBsjEBAgEDAjArMCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21v"
|
||||||
ZG8ubmV0L0NQUzBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsLnVzZXJ0cnVz\
|
"ZG8ubmV0L0NQUzBCBgNVHR8EOzA5MDegNaAzhjFodHRwOi8vY3JsLnVzZXJ0cnVz"
|
||||||
dC5jb20vVVROLVVTRVJGaXJzdC1PYmplY3QuY3JsMCEGA1UdEQQaMBiBFnN1cHBv\
|
"dC5jb20vVVROLVVTRVJGaXJzdC1PYmplY3QuY3JsMCEGA1UdEQQaMBiBFnN1cHBv"
|
||||||
cnRAcHJlZW1wdGl2ZS5jb20wDQYJKoZIhvcNAQEFBQADggEBAC+JM26Dokvonudl\
|
"cnRAcHJlZW1wdGl2ZS5jb20wDQYJKoZIhvcNAQEFBQADggEBAC+JM26Dokvonudl"
|
||||||
JXe/Yun7IBhimkagZUjbk9l/GQWN6i+v1o95UJ1wGJtBdm2+MxbSaPoNTDZR4B+2\
|
"JXe/Yun7IBhimkagZUjbk9l/GQWN6i+v1o95UJ1wGJtBdm2+MxbSaPoNTDZR4B+2"
|
||||||
lYL9MW57UVmePrnfUPXQKZZG+8gTRDz8+7ol/CEAKmS3MLKCRcH5oe+J5345sGxi\
|
"lYL9MW57UVmePrnfUPXQKZZG+8gTRDz8+7ol/CEAKmS3MLKCRcH5oe+J5345sGxi"
|
||||||
FC/KWNKedTNraW95xlg8NTlL2yRP7TMsjvBxgLmkbaFUoXzPTbQWmtovIagIT8GC\
|
"FC/KWNKedTNraW95xlg8NTlL2yRP7TMsjvBxgLmkbaFUoXzPTbQWmtovIagIT8GC"
|
||||||
JeXwdFaRjbamiz3Irl+u7x/mhxdza6RvgBYylXRFMudANpeGsV7gDXlnfzpFDKHQ\
|
"JeXwdFaRjbamiz3Irl+u7x/mhxdza6RvgBYylXRFMudANpeGsV7gDXlnfzpFDKHQ"
|
||||||
niVwB7P5sbPFIlmIc+4/xRItkLIRjCVXaepgN9KYu3VOgiSDI6wXiTwP44/LUXQM\
|
"niVwB7P5sbPFIlmIc+4/xRItkLIRjCVXaepgN9KYu3VOgiSDI6wXiTwP44/LUXQM"
|
||||||
hetwa7s=";
|
"hetwa7s=";
|
||||||
const unsigned char _der_tests_cacert_root_cert[] =
|
const unsigned char _der_tests_cacert_root_cert[] =
|
||||||
"MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290\
|
"MIIHPTCCBSWgAwIBAgIBADANBgkqhkiG9w0BAQQFADB5MRAwDgYDVQQKEwdSb290"
|
||||||
IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB\
|
"IENBMR4wHAYDVQQLExVodHRwOi8vd3d3LmNhY2VydC5vcmcxIjAgBgNVBAMTGUNB"
|
||||||
IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA\
|
"IENlcnQgU2lnbmluZyBBdXRob3JpdHkxITAfBgkqhkiG9w0BCQEWEnN1cHBvcnRA"
|
||||||
Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO\
|
"Y2FjZXJ0Lm9yZzAeFw0wMzAzMzAxMjI5NDlaFw0zMzAzMjkxMjI5NDlaMHkxEDAO"
|
||||||
BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi\
|
"BgNVBAoTB1Jvb3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEi"
|
||||||
MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ\
|
"MCAGA1UEAxMZQ0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJ"
|
||||||
ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\
|
"ARYSc3VwcG9ydEBjYWNlcnQub3JnMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC"
|
||||||
CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ\
|
"CgKCAgEAziLA4kZ97DYoB1CW8qAzQIxL8TtmPzHlawI229Z89vGIj053NgVBlfkJ"
|
||||||
8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6\
|
"8BLPRoZzYLdufujAWGSuzbCtRRcMY/pnCujW0r8+55jE8Ez64AO7NV1sId6eINm6"
|
||||||
zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y\
|
"zWYyN3L69wj1x81YyY7nDl7qPv4coRQKFWyGhFtkZip6qUtTefWIonvuLwphK42y"
|
||||||
fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7\
|
"fk1WpRPs6tqSnqxEQR5YYGUFZvjARL3LlPdCfgv3ZWiYUQXw8wWRBB0bF4LsyFe7"
|
||||||
w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc\
|
"w2t6iPGwcswlWyCR7BYCEo8y6RcYSNDHBS4CMEK4JZwFaz+qOqfrU0j36NK2B5jc"
|
||||||
G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k\
|
"G8Y0f3/JHIJ6BVgrCFvzOKKrF11myZjXnhCLotLddJr3cQxyYN/Nb5gznZY0dj4k"
|
||||||
epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q\
|
"epKwDpUeb+agRThHqtdB7Uq3EvbXG4OKDy7YCbZZ16oE/9KTfWgu3YtLq1i6L43q"
|
||||||
laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ\
|
"laegw1SJpfvbi1EinbLDvhG+LJGGi5Z4rSDTii8aP8bQUWWHIbEZAWV/RRyH9XzQ"
|
||||||
QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU\
|
"QUxPKZgh/TMfdQwEUfoZd9vUFBzugcMd9Zi3aQaRIt0AUMyBMawSB3s42mhb5ivU"
|
||||||
fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826\
|
"fslfrejrckzzAeVLIL+aplfKkQABi6F1ITe1Yw1nPkZPcCBnzsXWWdsC4PDSy826"
|
||||||
YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w\
|
"YreQQejdIOQpvGQpQsgi3Hia/0PsmBsJUUtaWsJx8cTLc6nloQsCAwEAAaOCAc4w"
|
||||||
ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY\
|
"ggHKMB0GA1UdDgQWBBQWtTIb1Mfz4OaO873SsDrusjkY0TCBowYDVR0jBIGbMIGY"
|
||||||
gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe\
|
"gBQWtTIb1Mfz4OaO873SsDrusjkY0aF9pHsweTEQMA4GA1UEChMHUm9vdCBDQTEe"
|
||||||
MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0\
|
"MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0"
|
||||||
IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy\
|
"IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy"
|
||||||
dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw\
|
"dC5vcmeCAQAwDwYDVR0TAQH/BAUwAwEB/zAyBgNVHR8EKzApMCegJaAjhiFodHRw"
|
||||||
czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0\
|
"czovL3d3dy5jYWNlcnQub3JnL3Jldm9rZS5jcmwwMAYJYIZIAYb4QgEEBCMWIWh0"
|
||||||
dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl\
|
"dHBzOi8vd3d3LmNhY2VydC5vcmcvcmV2b2tlLmNybDA0BglghkgBhvhCAQgEJxYl"
|
||||||
aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC\
|
"aHR0cDovL3d3dy5jYWNlcnQub3JnL2luZGV4LnBocD9pZD0xMDBWBglghkgBhvhC"
|
||||||
AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg\
|
"AQ0ESRZHVG8gZ2V0IHlvdXIgb3duIGNlcnRpZmljYXRlIGZvciBGUkVFIGhlYWQg"
|
||||||
b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB\
|
"b3ZlciB0byBodHRwOi8vd3d3LmNhY2VydC5vcmcwDQYJKoZIhvcNAQEEBQADggIB"
|
||||||
ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc\
|
"ACjH7pyCArpcgBLKNQodgW+JapnM8mgPf6fhjViVPr3yBsOQWqy1YPaZQwGjiHCc"
|
||||||
nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg\
|
"nWKdpIevZ1gNMDY75q1I08t0AoZxPuIrA2jxNGJARjtT6ij0rPtmlVOKTV39O9lg"
|
||||||
18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c\
|
"18p5aTuxZZKmxoGCXJzN600BiqXfEVWqFcofN8CCmHBh22p8lqOOLlQ+TyGpkO/c"
|
||||||
gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl\
|
"gr/c6EWtTZBzCDyUZbAEmXZ/4rzCahWqlwQ3JNgelE5tDlG+1sSPypZt90Pf6DBl"
|
||||||
Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY\
|
"Jzt7u0NDY8RD97LsaMzhGY4i+5jhe1o+ATc7iwiwovOVThrLm82asduycPAtStvY"
|
||||||
sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T\
|
"sONvRUgzEv/+PDIqVPfE94rwiCPCR/5kenHA0R6mY7AHfqQv0wGP3J8rtsYIqQ+T"
|
||||||
SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF\
|
"SCX8Ev2fQtzzxD72V7DX3WnRBnc0CkvSyqD/HMaMyRa+xMwyN2hzXwj7UfdJUzYF"
|
||||||
CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum\
|
"CpUCTPJ5GhD22Dp1nPMd8aINcGeGG7MW9S/lpOt5hvk9C8JzC6WZrG/8Z7jlLwum"
|
||||||
GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk\
|
"GCSNe9FINSkYQKyTYOGWhlC0elnYjyELn8+CkcY7v2vcB5G5l1YjqrZslMZIBjzk"
|
||||||
zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW\
|
"zk6q5PYvCdxTby78dOs6Y5nCpqyJvKeyRKANihDjbPIky/qbn3BHLt4Ui9SyIAmW"
|
||||||
omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD";
|
"omTxJBzcoTWcFbLUvFUufQb1nA5V9FrWk9p2rSVzTMVD";
|
||||||
const unsigned long _der_tests_cacert_root_cert_size = sizeof(_der_tests_cacert_root_cert);
|
const unsigned long _der_tests_cacert_root_cert_size = sizeof(_der_tests_cacert_root_cert);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1027,8 +1027,8 @@ static void der_flexi_test(void)
|
|||||||
static int der_choice_test(void)
|
static int der_choice_test(void)
|
||||||
{
|
{
|
||||||
ltc_asn1_list types[7], host[1];
|
ltc_asn1_list types[7], host[1];
|
||||||
unsigned char bitbuf[10], octetbuf[10], ia5buf[10], printbuf[10], outbuf[256];
|
unsigned char bitbuf[10], octetbuf[10], ia5buf[10], printbuf[10], outbuf[256], x, y;
|
||||||
unsigned long integer, oidbuf[10], outlen, inlen, x, y;
|
unsigned long integer, oidbuf[10], outlen, inlen;
|
||||||
void *mpinteger;
|
void *mpinteger;
|
||||||
ltc_utctime utctime = { 91, 5, 6, 16, 45, 40, 1, 7, 0 };
|
ltc_utctime utctime = { 91, 5, 6, 16, 45, 40, 1, 7, 0 };
|
||||||
ltc_generalizedtime gtime = { 2038, 01, 19, 3, 14, 8, 0, 0, 0, 0 };
|
ltc_generalizedtime gtime = { 2038, 01, 19, 3, 14, 8, 0, 0, 0, 0 };
|
||||||
@ -1073,11 +1073,11 @@ static int der_choice_test(void)
|
|||||||
|
|
||||||
for (y = 0; y < 7; y++) {
|
for (y = 0; y < 7; y++) {
|
||||||
if (types[y].used && y != (x>6?x-7:x)) {
|
if (types[y].used && y != (x>6?x-7:x)) {
|
||||||
fprintf(stderr, "CHOICE, flag %lu in trial %lu was incorrectly set to one\n", y, x);
|
fprintf(stderr, "CHOICE, flag %u in trial %u was incorrectly set to one\n", y, x);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
if (!types[y].used && y == (x>6?x-7:x)) {
|
if (!types[y].used && y == (x>6?x-7:x)) {
|
||||||
fprintf(stderr, "CHOICE, flag %lu in trial %lu was incorrectly set to zero\n", y, x);
|
fprintf(stderr, "CHOICE, flag %u in trial %u was incorrectly set to zero\n", y, x);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1166,9 +1166,12 @@ int der_tests(void)
|
|||||||
DO(der_encode_short_integer(mp_get_int(a), buf[1], &y));
|
DO(der_encode_short_integer(mp_get_int(a), buf[1], &y));
|
||||||
if (x != y || memcmp(buf[0], buf[1], x)) {
|
if (x != y || memcmp(buf[0], buf[1], x)) {
|
||||||
fprintf(stderr, "DER INTEGER short encoding failed, %lu, %lu, 0x%lX\n", x, y, mp_get_int(a));
|
fprintf(stderr, "DER INTEGER short encoding failed, %lu, %lu, 0x%lX\n", x, y, mp_get_int(a));
|
||||||
for (zz = 0; zz < z; zz++) fprintf(stderr, "%02x ", buf[2][zz]); fprintf(stderr, "\n");
|
for (zz = 0; zz < z; zz++) fprintf(stderr, "%02x ", buf[2][zz]);
|
||||||
for (z = 0; z < x; z++) fprintf(stderr, "%02x ", buf[0][z]); fprintf(stderr, "\n");
|
fprintf(stderr, "\n");
|
||||||
for (z = 0; z < y; z++) fprintf(stderr, "%02x ", buf[1][z]); fprintf(stderr, "\n");
|
for (z = 0; z < x; z++) fprintf(stderr, "%02x ", buf[0][z]);
|
||||||
|
fprintf(stderr, "\n");
|
||||||
|
for (z = 0; z < y; z++) fprintf(stderr, "%02x ", buf[1][z]);
|
||||||
|
fprintf(stderr, "\n");
|
||||||
mp_clear_multi(a, b, c, d, e, f, g, NULL);
|
mp_clear_multi(a, b, c, d, e, f, g, NULL);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -1280,7 +1283,8 @@ int der_tests(void)
|
|||||||
}
|
}
|
||||||
if (memcmp(oid[0], oid[1], sizeof(oid[0][0]) * z)) {
|
if (memcmp(oid[0], oid[1], sizeof(oid[0][0]) * z)) {
|
||||||
fprintf(stderr, "Random OID %lu test failed, decoded values wrong\n", z);
|
fprintf(stderr, "Random OID %lu test failed, decoded values wrong\n", z);
|
||||||
for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[0][x]); fprintf(stderr, "\n\n Got \n\n");
|
for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[0][x]);
|
||||||
|
fprintf(stderr, "\n\n Got \n\n");
|
||||||
for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[1][x]);
|
for (x = 0; x < z; x++) fprintf(stderr, "%lu\n", oid[1][x]);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -1330,8 +1334,8 @@ int der_tests(void)
|
|||||||
if (x != sizeof(rsa_time1_der) || memcmp(buf[0], rsa_time1_der, x)) {
|
if (x != sizeof(rsa_time1_der) || memcmp(buf[0], rsa_time1_der, x)) {
|
||||||
fprintf(stderr, "UTCTIME encode of rsa_time1 failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_time1_der));
|
fprintf(stderr, "UTCTIME encode of rsa_time1 failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_time1_der));
|
||||||
fprintf(stderr, "\n\n");
|
fprintf(stderr, "\n\n");
|
||||||
for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]); printf("\n");
|
for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]);
|
||||||
|
fprintf(stderr, "\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
DO(der_length_utctime((ltc_utctime*)&rsa_time1, &y));
|
DO(der_length_utctime((ltc_utctime*)&rsa_time1, &y));
|
||||||
@ -1360,8 +1364,8 @@ tmp_time.off_hh);
|
|||||||
if (x != sizeof(rsa_time2_der) || memcmp(buf[0], rsa_time2_der, x)) {
|
if (x != sizeof(rsa_time2_der) || memcmp(buf[0], rsa_time2_der, x)) {
|
||||||
fprintf(stderr, "UTCTIME encode of rsa_time2 failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_time1_der));
|
fprintf(stderr, "UTCTIME encode of rsa_time2 failed: %lu, %lu\n", x, (unsigned long)sizeof(rsa_time1_der));
|
||||||
fprintf(stderr, "\n\n");
|
fprintf(stderr, "\n\n");
|
||||||
for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]); printf("\n");
|
for (y = 0; y < x; y++) fprintf(stderr, "%02x ", buf[0][y]);
|
||||||
|
fprintf(stderr, "\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
DO(der_length_utctime((ltc_utctime*)&rsa_time2, &y));
|
DO(der_length_utctime((ltc_utctime*)&rsa_time2, &y));
|
||||||
@ -1394,7 +1398,8 @@ tmp_time.off_hh);
|
|||||||
DO(der_length_utf8_string(utf8_1, sizeof(utf8_1) / sizeof(utf8_1[0]), &y));
|
DO(der_length_utf8_string(utf8_1, sizeof(utf8_1) / sizeof(utf8_1[0]), &y));
|
||||||
if (x != sizeof(utf8_1_der) || memcmp(utf8_buf, utf8_1_der, x) || x != y) {
|
if (x != sizeof(utf8_1_der) || memcmp(utf8_buf, utf8_1_der, x) || x != y) {
|
||||||
fprintf(stderr, "DER UTF8_1 encoded to %lu bytes\n", x);
|
fprintf(stderr, "DER UTF8_1 encoded to %lu bytes\n", x);
|
||||||
for (y = 0; y < x; y++) fprintf(stderr, "%02x ", (unsigned)utf8_buf[y]); fprintf(stderr, "\n");
|
for (y = 0; y < x; y++) fprintf(stderr, "%02x ", (unsigned)utf8_buf[y]);
|
||||||
|
fprintf(stderr, "\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
/* decode it */
|
/* decode it */
|
||||||
@ -1402,7 +1407,8 @@ tmp_time.off_hh);
|
|||||||
DO(der_decode_utf8_string(utf8_buf, x, utf8_out, &y));
|
DO(der_decode_utf8_string(utf8_buf, x, utf8_out, &y));
|
||||||
if (y != (sizeof(utf8_1) / sizeof(utf8_1[0])) || memcmp(utf8_1, utf8_out, y * sizeof(wchar_t))) {
|
if (y != (sizeof(utf8_1) / sizeof(utf8_1[0])) || memcmp(utf8_1, utf8_out, y * sizeof(wchar_t))) {
|
||||||
fprintf(stderr, "DER UTF8_1 decoded to %lu wchar_t\n", y);
|
fprintf(stderr, "DER UTF8_1 decoded to %lu wchar_t\n", y);
|
||||||
for (x = 0; x < y; x++) fprintf(stderr, "%04lx ", (unsigned long)utf8_out[x]); fprintf(stderr, "\n");
|
for (x = 0; x < y; x++) fprintf(stderr, "%04lx ", (unsigned long)utf8_out[x]);
|
||||||
|
fprintf(stderr, "\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1411,7 +1417,8 @@ tmp_time.off_hh);
|
|||||||
DO(der_encode_utf8_string(utf8_2, sizeof(utf8_2) / sizeof(utf8_2[0]), utf8_buf, &x));
|
DO(der_encode_utf8_string(utf8_2, sizeof(utf8_2) / sizeof(utf8_2[0]), utf8_buf, &x));
|
||||||
if (x != sizeof(utf8_2_der) || memcmp(utf8_buf, utf8_2_der, x)) {
|
if (x != sizeof(utf8_2_der) || memcmp(utf8_buf, utf8_2_der, x)) {
|
||||||
fprintf(stderr, "DER UTF8_2 encoded to %lu bytes\n", x);
|
fprintf(stderr, "DER UTF8_2 encoded to %lu bytes\n", x);
|
||||||
for (y = 0; y < x; y++) fprintf(stderr, "%02x ", (unsigned)utf8_buf[y]); fprintf(stderr, "\n");
|
for (y = 0; y < x; y++) fprintf(stderr, "%02x ", (unsigned)utf8_buf[y]);
|
||||||
|
fprintf(stderr, "\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
/* decode it */
|
/* decode it */
|
||||||
@ -1419,7 +1426,8 @@ tmp_time.off_hh);
|
|||||||
DO(der_decode_utf8_string(utf8_buf, x, utf8_out, &y));
|
DO(der_decode_utf8_string(utf8_buf, x, utf8_out, &y));
|
||||||
if (y != (sizeof(utf8_2) / sizeof(utf8_2[0])) || memcmp(utf8_2, utf8_out, y * sizeof(wchar_t))) {
|
if (y != (sizeof(utf8_2) / sizeof(utf8_2[0])) || memcmp(utf8_2, utf8_out, y * sizeof(wchar_t))) {
|
||||||
fprintf(stderr, "DER UTF8_2 decoded to %lu wchar_t\n", y);
|
fprintf(stderr, "DER UTF8_2 decoded to %lu wchar_t\n", y);
|
||||||
for (x = 0; x < y; x++) fprintf(stderr, "%04lx ", (unsigned long)utf8_out[x]); fprintf(stderr, "\n");
|
for (x = 0; x < y; x++) fprintf(stderr, "%04lx ", (unsigned long)utf8_out[x]);
|
||||||
|
fprintf(stderr, "\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
int dh_test (void)
|
int dh_test (void)
|
||||||
{
|
{
|
||||||
unsigned char buf[3][4096];
|
unsigned char buf[3][4096], ch;
|
||||||
unsigned long x, y, z;
|
unsigned long x, y, z;
|
||||||
int stat, stat2;
|
int stat, stat2;
|
||||||
dh_key usera, userb;
|
dh_key usera, userb;
|
||||||
@ -74,8 +74,8 @@ int dh_test (void)
|
|||||||
|
|
||||||
/* test encrypt_key */
|
/* test encrypt_key */
|
||||||
dh_make_key (&yarrow_prng, find_prng ("yarrow"), KEYSIZE/8, &usera);
|
dh_make_key (&yarrow_prng, find_prng ("yarrow"), KEYSIZE/8, &usera);
|
||||||
for (x = 0; x < 16; x++) {
|
for (ch = 0; ch < 16; ch++) {
|
||||||
buf[0][x] = x;
|
buf[0][ch] = ch;
|
||||||
}
|
}
|
||||||
y = sizeof (buf[1]);
|
y = sizeof (buf[1]);
|
||||||
DO(dh_encrypt_key (buf[0], 16, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("md5"), &usera));
|
DO(dh_encrypt_key (buf[0], 16, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("md5"), &usera));
|
||||||
@ -87,16 +87,16 @@ int dh_test (void)
|
|||||||
dh_free (&usera);
|
dh_free (&usera);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
for (x = 0; x < 16; x++)
|
for (ch = 0; ch < 16; ch++)
|
||||||
if (buf[0][x] != x) {
|
if (buf[0][ch] != ch) {
|
||||||
fprintf(stderr, "Failed (contents)\n");
|
fprintf(stderr, "Failed (contents)\n");
|
||||||
dh_free (&usera);
|
dh_free (&usera);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* test sign_hash */
|
/* test sign_hash */
|
||||||
for (x = 0; x < 16; x++) {
|
for (ch = 0; ch < 16; ch++) {
|
||||||
buf[0][x] = x;
|
buf[0][ch] = ch;
|
||||||
}
|
}
|
||||||
x = sizeof (buf[1]);
|
x = sizeof (buf[1]);
|
||||||
DO(dh_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &usera));
|
DO(dh_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &usera));
|
||||||
|
@ -171,7 +171,7 @@ static int dsa_compat_test(void)
|
|||||||
|
|
||||||
int dsa_test(void)
|
int dsa_test(void)
|
||||||
{
|
{
|
||||||
unsigned char msg[16], out[1024], out2[1024];
|
unsigned char msg[16], out[1024], out2[1024], ch;
|
||||||
unsigned long x, y;
|
unsigned long x, y;
|
||||||
int stat1, stat2;
|
int stat1, stat2;
|
||||||
dsa_key key, key2;
|
dsa_key key, key2;
|
||||||
@ -186,7 +186,7 @@ int dsa_test(void)
|
|||||||
if (stat1 == 0) { fprintf(stderr, "dsa_verify_key "); return 1; }
|
if (stat1 == 0) { fprintf(stderr, "dsa_verify_key "); return 1; }
|
||||||
|
|
||||||
/* encrypt a message */
|
/* encrypt a message */
|
||||||
for (x = 0; x < 16; x++) { msg[x] = x; }
|
for (ch = 0; ch < 16; ch++) { msg[ch] = ch; }
|
||||||
x = sizeof(out);
|
x = sizeof(out);
|
||||||
DO(dsa_encrypt_key(msg, 16, out, &x, &yarrow_prng, find_prng("yarrow"), find_hash("sha1"), &key));
|
DO(dsa_encrypt_key(msg, 16, out, &x, &yarrow_prng, find_prng("yarrow"), find_hash("sha1"), &key));
|
||||||
|
|
||||||
|
@ -107,7 +107,7 @@ int ecc_test_shamir(void)
|
|||||||
|
|
||||||
int ecc_tests (void)
|
int ecc_tests (void)
|
||||||
{
|
{
|
||||||
unsigned char buf[4][4096];
|
unsigned char buf[4][4096], ch;
|
||||||
unsigned long x, y, z, s;
|
unsigned long x, y, z, s;
|
||||||
int stat, stat2;
|
int stat, stat2;
|
||||||
ecc_key usera, userb, pubKey, privKey;
|
ecc_key usera, userb, pubKey, privKey;
|
||||||
@ -191,8 +191,8 @@ int ecc_tests (void)
|
|||||||
DO(ecc_export(buf[0], &x, PK_PRIVATE, &usera));
|
DO(ecc_export(buf[0], &x, PK_PRIVATE, &usera));
|
||||||
DO(ecc_import(buf[0], x, &privKey));
|
DO(ecc_import(buf[0], x, &privKey));
|
||||||
|
|
||||||
for (x = 0; x < 32; x++) {
|
for (ch = 0; ch < 32; ch++) {
|
||||||
buf[0][x] = x;
|
buf[0][ch] = ch;
|
||||||
}
|
}
|
||||||
y = sizeof (buf[1]);
|
y = sizeof (buf[1]);
|
||||||
DO(ecc_encrypt_key (buf[0], 32, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("sha256"), &pubKey));
|
DO(ecc_encrypt_key (buf[0], 32, buf[1], &y, &yarrow_prng, find_prng ("yarrow"), find_hash ("sha256"), &pubKey));
|
||||||
@ -203,15 +203,15 @@ int ecc_tests (void)
|
|||||||
fprintf(stderr, "Failed (length)");
|
fprintf(stderr, "Failed (length)");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
for (x = 0; x < 32; x++) {
|
for (ch = 0; ch < 32; ch++) {
|
||||||
if (buf[0][x] != x) {
|
if (buf[0][ch] != ch) {
|
||||||
fprintf(stderr, "Failed (contents)");
|
fprintf(stderr, "Failed (contents)");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* test sign_hash */
|
/* test sign_hash */
|
||||||
for (x = 0; x < 16; x++) {
|
for (ch = 0; ch < 16; ch++) {
|
||||||
buf[0][x] = x;
|
buf[0][ch] = ch;
|
||||||
}
|
}
|
||||||
x = sizeof (buf[1]);
|
x = sizeof (buf[1]);
|
||||||
DO(ecc_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &privKey));
|
DO(ecc_sign_hash (buf[0], 16, buf[1], &x, &yarrow_prng, find_prng ("yarrow"), &privKey));
|
||||||
|
@ -74,7 +74,7 @@ int multi_test(void);
|
|||||||
|
|
||||||
extern struct list {
|
extern struct list {
|
||||||
int id;
|
int id;
|
||||||
unsigned long spd1, spd2, avg;
|
ulong64 spd1, spd2, avg;
|
||||||
} results[];
|
} results[];
|
||||||
|
|
||||||
extern int no_results;
|
extern int no_results;
|
||||||
|
@ -14,9 +14,12 @@ ulong64 epoch_usec(void)
|
|||||||
#elif defined(_WIN32)
|
#elif defined(_WIN32)
|
||||||
FILETIME CurrentTime;
|
FILETIME CurrentTime;
|
||||||
ulong64 cur_time;
|
ulong64 cur_time;
|
||||||
|
ULARGE_INTEGER ul;
|
||||||
GetSystemTimeAsFileTime(&CurrentTime);
|
GetSystemTimeAsFileTime(&CurrentTime);
|
||||||
cur_time = ((ulong64)CurrentTime.dwHighDateTime << 32) + (ulong64)CurrentTime.dwLowDateTime;
|
ul.LowPart = CurrentTime.dwLowDateTime;
|
||||||
cur_time -= 116444736000000000LL; /* subtract epoch in microseconds */
|
ul.HighPart = CurrentTime.dwHighDateTime;
|
||||||
|
cur_time = ul.QuadPart;
|
||||||
|
cur_time -= CONST64(116444736000000000); /* subtract epoch in microseconds */
|
||||||
cur_time /= 10; /* nanoseconds > microseconds */
|
cur_time /= 10; /* nanoseconds > microseconds */
|
||||||
return cur_time;
|
return cur_time;
|
||||||
#else
|
#else
|
||||||
@ -108,12 +111,12 @@ void tally_results(int type)
|
|||||||
} else if (type == 1) {
|
} else if (type == 1) {
|
||||||
for (x = 0; x < no_results; x++) {
|
for (x = 0; x < no_results; x++) {
|
||||||
printf
|
printf
|
||||||
("%-20s[%3d]: Encrypt at %5lu, Decrypt at %5lu\n", cipher_descriptor[results[x].id].name, cipher_descriptor[results[x].id].ID, results[x].spd1, results[x].spd2);
|
("%-20s[%3d]: Encrypt at %5"PRI64"u, Decrypt at %5"PRI64"u\n", cipher_descriptor[results[x].id].name, cipher_descriptor[results[x].id].ID, results[x].spd1, results[x].spd2);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
for (x = 0; x < no_results; x++) {
|
for (x = 0; x < no_results; x++) {
|
||||||
printf
|
printf
|
||||||
("%-20s: Process at %5lu\n", hash_descriptor[results[x].id].name, results[x].spd1 / 1000);
|
("%-20s: Process at %5"PRI64"u\n", hash_descriptor[results[x].id].name, results[x].spd1 / 1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user