From e79d512aee6ec386a40d2f367479de4ade35322a Mon Sep 17 00:00:00 2001 From: tqcq <99722391+tqcq@users.noreply.github.com> Date: Mon, 23 Dec 2024 15:52:32 +0800 Subject: [PATCH] feat add libserver-sm for hisiv500 --- AWSMServer/AWSMServer.c | 4 ++-- lib-hisiv500/libserver-sm.so | Bin 0 -> 39256 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100755 lib-hisiv500/libserver-sm.so diff --git a/AWSMServer/AWSMServer.c b/AWSMServer/AWSMServer.c index 418322d..c7fab9c 100644 --- a/AWSMServer/AWSMServer.c +++ b/AWSMServer/AWSMServer.c @@ -47,10 +47,10 @@ int main() psZMQBuf = ZMQRecv(psZMQ, -1); if(!psZMQBuf) { printf("ZMQRecv fail\n"); break; } - CallXXX(HashInit, 8) + CallXXX(HashInit, 8) else CallXXX(HashUpdate, 10) else CallXXX(HashFinal, 9) - else CallXXX(Hash, 4) + else CallXXX(Hash, 4) else CallXXX(Rand, 4) else CallXXX(SignatureByIntPrikey, 20) else CallXXX(SignatureByExtPrikey, 20) diff --git a/lib-hisiv500/libserver-sm.so b/lib-hisiv500/libserver-sm.so new file mode 100755 index 0000000000000000000000000000000000000000..04e5838210ca69f5319b5ea7f7d9ef8e5dc4ac08 GIT binary patch literal 39256 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 ZegyJIy`V0$5Asxf((~@M_Jl(3KLM;PH+KL4 literal 0 HcmV?d00001