Latest update
This commit is contained in:
+16
-6
@@ -8,7 +8,10 @@
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include <openssl/provider.h>
|
||||
#include <openssl/params.h>
|
||||
#include <openssl/ossl_typ.h>
|
||||
#include <openssl/core_names.h>
|
||||
#include "internal/nelem.h"
|
||||
#include "testutil.h"
|
||||
|
||||
@@ -36,12 +39,19 @@ static unsigned char pad2[16] = {
|
||||
|
||||
static int test_mdc2(void)
|
||||
{
|
||||
int testresult = 0;
|
||||
int testresult = 0, pad_type = 2;
|
||||
unsigned char md[MDC2_DIGEST_LENGTH];
|
||||
EVP_MD_CTX *c;
|
||||
static char text[] = "Now is the time for all ";
|
||||
size_t tlen = strlen(text);
|
||||
size_t tlen = strlen(text), i = 0;
|
||||
OSSL_PROVIDER *prov = NULL;
|
||||
OSSL_PARAM params[2];
|
||||
|
||||
params[i++] = OSSL_PARAM_construct_int(OSSL_DIGEST_PARAM_PAD_TYPE,
|
||||
&pad_type),
|
||||
params[i++] = OSSL_PARAM_construct_end();
|
||||
|
||||
prov = OSSL_PROVIDER_load(NULL, "legacy");
|
||||
# ifdef CHARSET_EBCDIC
|
||||
ebcdic2ascii(text, text, tlen);
|
||||
# endif
|
||||
@@ -55,9 +65,8 @@ static int test_mdc2(void)
|
||||
|| !TEST_true(EVP_DigestInit_ex(c, EVP_mdc2(), NULL)))
|
||||
goto end;
|
||||
|
||||
/* FIXME: use a ctl function? */
|
||||
((MDC2_CTX *)EVP_MD_CTX_md_data(c))->pad_type = 2;
|
||||
if (!TEST_true(EVP_DigestUpdate(c, (unsigned char *)text, tlen))
|
||||
if (!TEST_int_gt(EVP_MD_CTX_set_params(c, params), 0)
|
||||
|| !TEST_true(EVP_DigestUpdate(c, (unsigned char *)text, tlen))
|
||||
|| !TEST_true(EVP_DigestFinal_ex(c, &(md[0]), NULL))
|
||||
|| !TEST_mem_eq(md, MDC2_DIGEST_LENGTH, pad2, MDC2_DIGEST_LENGTH))
|
||||
goto end;
|
||||
@@ -65,6 +74,7 @@ static int test_mdc2(void)
|
||||
testresult = 1;
|
||||
end:
|
||||
EVP_MD_CTX_free(c);
|
||||
OSSL_PROVIDER_unload(prov);
|
||||
return testresult;
|
||||
}
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user