X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=lib%2Fopenssl%2Fengines%2Fccgost%2Fgostsum.c;fp=lib%2Fopenssl%2Fengines%2Fccgost%2Fgostsum.c;h=0000000000000000000000000000000000000000;hb=02ed66432c92de70694700164f986190aad3cbc5;hp=d57112eb54a70b39d3a28e6a869bb944ad3944e8;hpb=89016837dcbf2775cd15dc8cbaba00dc6379f86e;p=cassiopeia.git diff --git a/lib/openssl/engines/ccgost/gostsum.c b/lib/openssl/engines/ccgost/gostsum.c deleted file mode 100644 index d57112e..0000000 --- a/lib/openssl/engines/ccgost/gostsum.c +++ /dev/null @@ -1,210 +0,0 @@ -/********************************************************************** - * gostsum.c * - * Copyright (c) 2005-2006 Cryptocom LTD * - * This file is distributed under the same license as OpenSSL * - * * - * Almost drop-in replacement for md5sum and sha1sum * - * which computes GOST R 34.11-94 hashsum instead * - * * - **********************************************************************/ -#include -#include -#include -#include -#include -#include -#include "gosthash.h" -#define BUF_SIZE 262144 -int hash_file(gost_hash_ctx *ctx,char *filename,char *sum,int mode); -int hash_stream(gost_hash_ctx *ctx,int fd, char *sum); -int get_line(FILE *f,char *hash,char *filename); -void help() - { - fprintf(stderr,"gostsum [-bvt] [-c [file]]| [files]\n" - "\t-c check message digests (default is generate)\n" - "\t-v verbose, print file names when checking\n" - "\t-b read files in binary mode\n" - "\t-t use test GOST paramset (default is CryptoPro paramset)\n" - "The input for -c should be the list of message digests and file names\n" - "that is printed on stdout by this program when it generates digests.\n"); - exit(3); - } - -#ifndef O_BINARY -#define O_BINARY 0 -#endif - -int main(int argc,char **argv) - { - int c,i; - int verbose=0; - int errors=0; - int open_mode = O_RDONLY; - gost_subst_block *b= &GostR3411_94_CryptoProParamSet; - FILE *check_file = NULL; - gost_hash_ctx ctx; - - while( (c=getopt(argc,argv,"bc::tv"))!=-1) - { - switch (c) - { - case 'v': verbose=1; break; - case 't': b= &GostR3411_94_TestParamSet; break; - case 'b': open_mode |= O_BINARY; break; - case 'c': - if (optarg) - { - check_file = fopen(optarg,"r"); - if (!check_file) - { - perror(optarg); - exit(2); - } - } - else - { - check_file= stdin; - } - break; - default: - fprintf(stderr,"invalid option %c",optopt); - help(); - } - } - init_gost_hash_ctx(&ctx,b); - if (check_file) - { - char inhash[65],calcsum[65],filename[PATH_MAX]; - int failcount=0,count=0;; - if (check_file==stdin && optind0) - { - hash_block(ctx,buffer,bytes); - } - if (bytes<0) - { - return 0; - } - finish_hash(ctx,buffer); - for (i=0;i<32;i++) - { - sprintf(sum+2*i,"%02x",buffer[31-i]); - } - return 1; - } - -int get_line(FILE *f,char *hash,char *filename) - { - int i; - if (fread(hash,1,64,f)<64) return 0; - hash[64]=0; - for (i=0;i<64;i++) - { - if (hash[i]<'0' || (hash[i]>'9' && hash[i]<'A') || (hash[i]>'F' - && hash[i]<'a')||hash[i]>'f') - { - fprintf(stderr,"Not a hash value '%s'\n",hash); - return 0; - } - } - if (fgetc(f)!=' ') - { - fprintf(stderr,"Malformed input line\n"); - return 0; - } - i=strlen(fgets(filename,PATH_MAX,f)); - while (filename[--i]=='\n'||filename[i]=='\r') filename[i]=0; - return 1; - }