00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _CRT_SECURE_NO_DEPRECATE
00022 #define _CRT_SECURE_NO_DEPRECATE 1
00023 #endif
00024
00025 #include <string.h>
00026 #include <stdio.h>
00027
00028 #include "xyssl/rsa.h"
00029 #include "xyssl/sha1.h"
00030
00031 int main( int argc, char *argv[] )
00032 {
00033 FILE *f;
00034 int ret, i, c;
00035 rsa_context rsa;
00036 unsigned char hash[20];
00037 unsigned char buf[512];
00038
00039 ret = 1;
00040 if( argc != 2 )
00041 {
00042 printf( "usage: rsa_verify <filename>\n" );
00043
00044 #ifdef WIN32
00045 printf( "\n" );
00046 #endif
00047
00048 goto exit;
00049 }
00050
00051 printf( "\n . Reading public key from rsa_pub.txt" );
00052 fflush( stdout );
00053
00054 if( ( f = fopen( "rsa_pub.txt", "rb" ) ) == NULL )
00055 {
00056 printf( " failed\n ! Could not open rsa_pub.txt\n" \
00057 " ! Please run rsa_genkey first\n\n" );
00058 goto exit;
00059 }
00060
00061 rsa_init( &rsa, RSA_PKCS_V15, 0, NULL, NULL );
00062
00063 if( ( ret = mpi_read_file( &rsa.N, 16, f ) ) != 0 ||
00064 ( ret = mpi_read_file( &rsa.E, 16, f ) ) != 0 )
00065 {
00066 printf( " failed\n ! mpi_read_file returned %d\n\n", ret );
00067 goto exit;
00068 }
00069
00070 rsa.len = ( mpi_msb( &rsa.N ) + 7 ) >> 3;
=tx46ZMT"j5|^<<4-}uɲʂs^R9, 5 ;[8y,j
-͂r
`R6&}?o}-S=j\*wXzYo\[g:ˉu
NF?)7et-DNP*p u2eCދnYN$NKget[uenz>
^8+qml*:aQܽ$\q*{HSykSpls tV4 dGIϒ'7P0t5_(7B`}>b z8pD8qgʿEg._ךXeÌϯboLu7Gm#@hs{0^7Vkuh%gm&↖`g={S^zѪ&j@{ӻ(kZM>ӷNt\:Q=m7),kLh<tm킒Q !&.耱=IPl2Q|K~.yy
<ˍF>s'S`55X g˹@oӭ1#!ؒw)H7K';fwԄ6Dj+?a^4 $H9LIEN<^*Ƚ7.
e9,<ٵ
(p
]3kLԲU-4+/x/4u6QsCz^Xï<\5/ahxC rVhsm0aBY/b/F`!a1uĘr" *=N ~Վ #)oա#U-kH--:
Qvūy4K\ϳCODZs6#hK~Ya%'^ӵ-i'a_ ٨jyXFeuZFy)4>_ަQ7@h+ ,~:#8r7dIBKޕԣa)HK:p.T߈9ei.[e͛?
pg"m*|83t
84j.dD
GpIpA JenGi-/%Z ri85!.{5Dh}}ҚE$!c:lCdf
&~c:silp)k@MgmҰ4jB@E"0giI9IMbfRNOF#Ϻ?4y&QpoEJ
3B]6jO~ɑEa:߬oJ`VG&w9CX2ax!;.Yn|T3Szf8pG-]e"sStǦȽObQ[>K<_T5R
C`ml)ד`\RũrIM9jdj5
MӮt7^:>f/{brOpjR㺒 1P`< uѶN/K`ˀ56LDb1
z- 7MPr!ٌ*QFX8^4_5prU ͭP,:c4JWD