Skip to content

Commit 5a3e517

Browse files
author
John Bland
committed
implement sha bindings
1 parent b2d2910 commit 5a3e517

File tree

14 files changed

+749
-7
lines changed

14 files changed

+749
-7
lines changed

addon/wolfcrypt/h/sha.h

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
#include <napi.h>
2+
#include "wolfssl/options.h"
3+
#include <wolfssl/wolfcrypt/settings.h>
4+
#include <wolfssl/wolfcrypt/sha.h>
5+
#include <wolfssl/wolfcrypt/sha256.h>
6+
#include <wolfssl/wolfcrypt/sha512.h>
7+
#include <wolfssl/wolfcrypt/sha3.h>
8+
#include <wolfssl/openssl/sha.h>
9+
10+
Napi::Number Sha_digest_length(const Napi::CallbackInfo& info);
11+
12+
Napi::Number sizeof_WOLFSSL_SHA_CTX(const Napi::CallbackInfo& info);
13+
Napi::Number bind_wolfSSL_SHA_Init(const Napi::CallbackInfo& info);
14+
Napi::Number bind_wolfSSL_SHA_Update(const Napi::CallbackInfo& info);
15+
Napi::Number bind_wolfSSL_SHA_Final(const Napi::CallbackInfo& info);
16+
17+
Napi::Number sizeof_WOLFSSL_SHA224_CTX(const Napi::CallbackInfo& info);
18+
Napi::Number bind_wolfSSL_SHA224_Init(const Napi::CallbackInfo& info);
19+
Napi::Number bind_wolfSSL_SHA224_Update(const Napi::CallbackInfo& info);
20+
Napi::Number bind_wolfSSL_SHA224_Final(const Napi::CallbackInfo& info);
21+
22+
Napi::Number sizeof_WOLFSSL_SHA256_CTX(const Napi::CallbackInfo& info);
23+
Napi::Number bind_wolfSSL_SHA256_Init(const Napi::CallbackInfo& info);
24+
Napi::Number bind_wolfSSL_SHA256_Update(const Napi::CallbackInfo& info);
25+
Napi::Number bind_wolfSSL_SHA256_Final(const Napi::CallbackInfo& info);
26+
27+
Napi::Number sizeof_WOLFSSL_SHA384_CTX(const Napi::CallbackInfo& info);
28+
Napi::Number bind_wolfSSL_SHA384_Init(const Napi::CallbackInfo& info);
29+
Napi::Number bind_wolfSSL_SHA384_Update(const Napi::CallbackInfo& info);
30+
Napi::Number bind_wolfSSL_SHA384_Final(const Napi::CallbackInfo& info);
31+
32+
Napi::Number sizeof_WOLFSSL_SHA512_CTX(const Napi::CallbackInfo& info);
33+
Napi::Number bind_wolfSSL_SHA512_Init(const Napi::CallbackInfo& info);
34+
Napi::Number bind_wolfSSL_SHA512_Update(const Napi::CallbackInfo& info);
35+
Napi::Number bind_wolfSSL_SHA512_Final(const Napi::CallbackInfo& info);
36+
37+
Napi::Number sizeof_WOLFSSL_SHA512_224_CTX(const Napi::CallbackInfo& info);
38+
Napi::Number bind_wolfSSL_SHA512_224_Init(const Napi::CallbackInfo& info);
39+
Napi::Number bind_wolfSSL_SHA512_224_Update(const Napi::CallbackInfo& info);
40+
Napi::Number bind_wolfSSL_SHA512_224_Final(const Napi::CallbackInfo& info);
41+
42+
Napi::Number sizeof_WOLFSSL_SHA512_256_CTX(const Napi::CallbackInfo& info);
43+
Napi::Number bind_wolfSSL_SHA512_256_Init(const Napi::CallbackInfo& info);
44+
Napi::Number bind_wolfSSL_SHA512_256_Update(const Napi::CallbackInfo& info);
45+
Napi::Number bind_wolfSSL_SHA512_256_Final(const Napi::CallbackInfo& info);
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include "./h/evp.h"
55
#include "./h/hmac.h"
66
#include "./h/rsa.h"
7+
#include "./h/sha.h"
78
#include <wolfssl/options.h>
89
#include <wolfssl/wolfcrypt/settings.h>
910
#include <wolfssl/wolfcrypt/aes.h>
@@ -105,6 +106,43 @@ Napi::Object Init(Napi::Env env, Napi::Object exports)
105106
exports.Set(Napi::String::New(env, "wc_RsaPrivateDecrypt"), Napi::Function::New(env, bind_wc_RsaPrivateDecrypt));
106107
exports.Set(Napi::String::New(env, "wc_FreeRsaKey"), Napi::Function::New(env, bind_wc_FreeRsaKey));
107108

109+
exports.Set(Napi::String::New(env, "Sha_digest_length"), Napi::Function::New(env, Sha_digest_length));
110+
111+
exports.Set(Napi::String::New(env, "sizeof_WOLFSSL_SHA_CTX"), Napi::Function::New(env, sizeof_WOLFSSL_SHA_CTX));
112+
exports.Set(Napi::String::New(env, "wolfSSL_SHA_Init"), Napi::Function::New(env, bind_wolfSSL_SHA_Init));
113+
exports.Set(Napi::String::New(env, "wolfSSL_SHA_Update"), Napi::Function::New(env, bind_wolfSSL_SHA_Update));
114+
exports.Set(Napi::String::New(env, "wolfSSL_SHA_Final"), Napi::Function::New(env, bind_wolfSSL_SHA_Final));
115+
116+
exports.Set(Napi::String::New(env, "sizeof_WOLFSSL_SHA224_CTX"), Napi::Function::New(env, sizeof_WOLFSSL_SHA224_CTX));
117+
exports.Set(Napi::String::New(env, "wolfSSL_SHA224_Init"), Napi::Function::New(env, bind_wolfSSL_SHA224_Init));
118+
exports.Set(Napi::String::New(env, "wolfSSL_SHA224_Update"), Napi::Function::New(env, bind_wolfSSL_SHA224_Update));
119+
exports.Set(Napi::String::New(env, "wolfSSL_SHA224_Final"), Napi::Function::New(env, bind_wolfSSL_SHA224_Final));
120+
121+
exports.Set(Napi::String::New(env, "sizeof_WOLFSSL_SHA256_CTX"), Napi::Function::New(env, sizeof_WOLFSSL_SHA256_CTX));
122+
exports.Set(Napi::String::New(env, "wolfSSL_SHA256_Init"), Napi::Function::New(env, bind_wolfSSL_SHA256_Init));
123+
exports.Set(Napi::String::New(env, "wolfSSL_SHA256_Update"), Napi::Function::New(env, bind_wolfSSL_SHA256_Update));
124+
exports.Set(Napi::String::New(env, "wolfSSL_SHA256_Final"), Napi::Function::New(env, bind_wolfSSL_SHA256_Final));
125+
126+
exports.Set(Napi::String::New(env, "sizeof_WOLFSSL_SHA384_CTX"), Napi::Function::New(env, sizeof_WOLFSSL_SHA384_CTX));
127+
exports.Set(Napi::String::New(env, "wolfSSL_SHA384_Init"), Napi::Function::New(env, bind_wolfSSL_SHA384_Init));
128+
exports.Set(Napi::String::New(env, "wolfSSL_SHA384_Update"), Napi::Function::New(env, bind_wolfSSL_SHA384_Update));
129+
exports.Set(Napi::String::New(env, "wolfSSL_SHA384_Final"), Napi::Function::New(env, bind_wolfSSL_SHA384_Final));
130+
131+
exports.Set(Napi::String::New(env, "sizeof_WOLFSSL_SHA512_CTX"), Napi::Function::New(env, sizeof_WOLFSSL_SHA512_CTX));
132+
exports.Set(Napi::String::New(env, "wolfSSL_SHA512_Init"), Napi::Function::New(env, bind_wolfSSL_SHA512_Init));
133+
exports.Set(Napi::String::New(env, "wolfSSL_SHA512_Update"), Napi::Function::New(env, bind_wolfSSL_SHA512_Update));
134+
exports.Set(Napi::String::New(env, "wolfSSL_SHA512_Final"), Napi::Function::New(env, bind_wolfSSL_SHA512_Final));
135+
136+
exports.Set(Napi::String::New(env, "sizeof_WOLFSSL_SHA512_224_CTX"), Napi::Function::New(env, sizeof_WOLFSSL_SHA512_224_CTX));
137+
exports.Set(Napi::String::New(env, "wolfSSL_SHA512_224_Init"), Napi::Function::New(env, bind_wolfSSL_SHA512_224_Init));
138+
exports.Set(Napi::String::New(env, "wolfSSL_SHA512_224_Update"), Napi::Function::New(env, bind_wolfSSL_SHA512_224_Update));
139+
exports.Set(Napi::String::New(env, "wolfSSL_SHA512_224_Final"), Napi::Function::New(env, bind_wolfSSL_SHA512_224_Final));
140+
141+
exports.Set(Napi::String::New(env, "sizeof_WOLFSSL_SHA512_256_CTX"), Napi::Function::New(env, sizeof_WOLFSSL_SHA512_256_CTX));
142+
exports.Set(Napi::String::New(env, "wolfSSL_SHA512_256_Init"), Napi::Function::New(env, bind_wolfSSL_SHA512_256_Init));
143+
exports.Set(Napi::String::New(env, "wolfSSL_SHA512_256_Update"), Napi::Function::New(env, bind_wolfSSL_SHA512_256_Update));
144+
exports.Set(Napi::String::New(env, "wolfSSL_SHA512_256_Final"), Napi::Function::New(env, bind_wolfSSL_SHA512_256_Final));
145+
108146
return exports;
109147
}
110148

0 commit comments

Comments
 (0)