/* vim: set fileencoding=ascii : Charset: ASCII */
/* test/gostr2814789t.c */
/* ====================================================================
* Copyright (c) 2012 Crypto-Pro, Ltd., Serguei E. Leontiev,
* lse@cryptopro.ru
*
* This file is distributed under the same license as OpenSSL
* ====================================================================
*/
#include <stdio.h>
#include <openssl/e_os2.h>
#if defined(OPENSSL_NO_ENGINE) || defined(OPENSSL_NO_GOST)
int main(int argc, char *argv[])
{
printf("No GOST 28147-89 support\n");
return 0;
}
#else
# include <stdlib.h>
# include <string.h>
# include <openssl/conf.h>
# include <openssl/crypto.h>
# include <openssl/engine.h>
# include <openssl/err.h>
# include <openssl/evp.h>
# include <openssl/hmac.h>
# include <openssl/obj_mac.h>
# include "e_os.h"
# define CCGOST_ID "gost"
# include "../engines/ccgost/gost89.h"
# define G89_MAX_TC_LEN (2048)
# define G89_BLOCK_LEN (8)
# if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__)
typedef unsigned __int64 u64;
# define U64(C) C##UI64
# define FMT64 "%I64u"
# elif defined(__arch64__)
typedef unsigned long u64;
# define U64(C) C##UL
# define FMT64 "%lu"
# else
typedef unsigned long long u64;
# define U64(C) C##ULL
# define FMT64 "%llu"
# endif
# if defined(__MI