mirror of
https://github.com/PurpleI2P/i2pd
synced 2024-11-10 00:00:29 +03:00
GOST signature unit test added
This commit is contained in:
parent
7a51abc2f9
commit
13aab750dd
@ -799,7 +799,7 @@ namespace crypto
|
||||
}*/
|
||||
|
||||
|
||||
void InitCrypto (bool precomputation, bool withGost)
|
||||
void InitCrypto (bool precomputation)
|
||||
{
|
||||
SSL_library_init ();
|
||||
/* auto numLocks = CRYPTO_num_locks();
|
||||
|
2
Crypto.h
2
Crypto.h
@ -279,7 +279,7 @@ namespace crypto
|
||||
#endif
|
||||
};
|
||||
|
||||
void InitCrypto (bool precomputation, bool withGost = false);
|
||||
void InitCrypto (bool precomputation);
|
||||
void TerminateCrypto ();
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
CXXFLAGS += -Wall -Wextra -pedantic -O0 -g -std=c++11 -D_GLIBCXX_USE_NANOSLEEP=1
|
||||
|
||||
TESTS = test-gost test-http-url test-http-req test-http-res test-http-url_decode \
|
||||
test-http-merge_chunked test-base-64
|
||||
TESTS = test-gost test-gost-sig test-base-64
|
||||
|
||||
all: $(TESTS) run
|
||||
|
||||
@ -11,9 +10,12 @@ test-http-%: ../HTTP.cpp test-http-%.cpp
|
||||
test-base-%: ../Base.cpp test-base-%.cpp
|
||||
$(CXX) $(CXXFLAGS) $(NEEDED_CXXFLAGS) $(INCFLAGS) -o $@ $^
|
||||
|
||||
test-gost: ../Gost.cpp test-gost.cpp
|
||||
test-gost: ../Gost.cpp ../I2PEndian.cpp test-gost.cpp
|
||||
$(CXX) $(CXXFLAGS) $(NEEDED_CXXFLAGS) $(INCFLAGS) -o $@ $^ -lcrypto
|
||||
|
||||
test-gost-sig: ../Gost.cpp ../I2PEndian.cpp ../Signature.cpp ../Crypto.cpp ../Log.cpp test-gost-sig.cpp
|
||||
$(CXX) $(CXXFLAGS) $(NEEDED_CXXFLAGS) $(INCFLAGS) -o $@ $^ -lcrypto -lssl -lboost_system
|
||||
|
||||
run: $(TESTS)
|
||||
@for TEST in $(TESTS); do ./$$TEST ; done
|
||||
|
||||
|
29
tests/test-gost-sig.cpp
Normal file
29
tests/test-gost-sig.cpp
Normal file
@ -0,0 +1,29 @@
|
||||
#include <cassert>
|
||||
#include <inttypes.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "../Gost.h"
|
||||
#include "../Signature.h"
|
||||
|
||||
const uint8_t example2[72] =
|
||||
{
|
||||
0xfb,0xe2,0xe5,0xf0,0xee,0xe3,0xc8,0x20,0xfb,0xea,0xfa,0xeb,0xef,0x20,0xff,0xfb,
|
||||
0xf0,0xe1,0xe0,0xf0,0xf5,0x20,0xe0,0xed,0x20,0xe8,0xec,0xe0,0xeb,0xe5,0xf0,0xf2,
|
||||
0xf1,0x20,0xff,0xf0,0xee,0xec,0x20,0xf1,0x20,0xfa,0xf2,0xfe,0xe5,0xe2,0x20,0x2c,
|
||||
0xe8,0xf6,0xf3,0xed,0xe2,0x20,0xe8,0xe6,0xee,0xe1,0xe8,0xf0,0xf2,0xd1,0x20,0x2c,
|
||||
0xe8,0xf0,0xf2,0xe5,0xe2,0x20,0xe5,0xd1
|
||||
};
|
||||
|
||||
|
||||
int main ()
|
||||
{
|
||||
uint8_t priv[64], pub[128], signature[128];
|
||||
i2p::crypto::CreateGOSTR3410RandomKeys (i2p::crypto::eGOSTR3410TC26A512, priv, pub);
|
||||
i2p::crypto::GOSTR3410_2012_512_Signer signer (i2p::crypto::eGOSTR3410TC26A512, priv);
|
||||
signer.Sign (example2, 72, signature);
|
||||
i2p::crypto::GOSTR3410_2012_512_Verifier verifier (i2p::crypto::eGOSTR3410TC26A512, pub);
|
||||
assert (verifier.Verify (example2, 72, signature));
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user