commit a8f7d7c6e462ad01a845ae7b3caa3c46ad6bc951
parent f88a995c95b3110a4f8114e37556bf26b41c92d7
Author: Armin Preiml <apreiml@strohwolke.at>
Date: Tue, 29 Nov 2022 13:24:02 +0100
gen-stdlib: add crypto::rsa
Signed-off-by: Armin Preiml <apreiml@strohwolke.at>
Diffstat:
2 files changed, 63 insertions(+), 0 deletions(-)
diff --git a/scripts/gen-stdlib b/scripts/gen-stdlib
@@ -431,6 +431,27 @@ crypto_random() {
gen_ssa -pfreebsd crypto::random rt io errors
}
+gensrcs_crypto_rsa() {
+ gen_srcs crypto::rsa core.ha errors.ha keys.ha pkcs1.ha $*
+}
+
+genssa_crypto_rsa() {
+ gen_ssa crypto::rsa bufio bytes crypto::bigint crypto::math \
+ crypto::sha1 crypto::sha256 crypto::sha512 endian errors hash \
+ io types $*
+}
+
+crypto_rsa() {
+ if [ $testing -eq 0 ]
+ then
+ gensrcs_crypto_rsa
+ genssa_crypto_rsa
+ else
+ gensrcs_crypto_rsa +test/core.ha +test/keys.ha +test/pkcs1.ha
+ genssa_crypto_rsa
+ fi
+}
+
crypto_salsa() {
if [ $testing -eq 0 ]
then
@@ -1442,6 +1463,7 @@ crypto::hmac
crypto::mac
crypto::math
crypto::random linux freebsd
+crypto::rsa
crypto::poly1305
crypto::salsa
crypto::sha1
diff --git a/stdlib.mk b/stdlib.mk
@@ -241,6 +241,12 @@ stdlib_deps_linux += $(stdlib_crypto_random_linux)
stdlib_crypto_random_freebsd = $(HARECACHE)/crypto/random/crypto_random-freebsd.o
stdlib_deps_freebsd += $(stdlib_crypto_random_freebsd)
+# gen_lib crypto::rsa (any)
+stdlib_crypto_rsa_any = $(HARECACHE)/crypto/rsa/crypto_rsa-any.o
+stdlib_deps_any += $(stdlib_crypto_rsa_any)
+stdlib_crypto_rsa_linux = $(stdlib_crypto_rsa_any)
+stdlib_crypto_rsa_freebsd = $(stdlib_crypto_rsa_any)
+
# gen_lib crypto::poly1305 (any)
stdlib_crypto_poly1305_any = $(HARECACHE)/crypto/poly1305/crypto_poly1305-any.o
stdlib_deps_any += $(stdlib_crypto_poly1305_any)
@@ -960,6 +966,19 @@ $(HARECACHE)/crypto/random/crypto_random-freebsd.ssa: $(stdlib_crypto_random_fre
@HARECACHE=$(HARECACHE) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::random \
-t$(HARECACHE)/crypto/random/crypto_random.td $(stdlib_crypto_random_freebsd_srcs)
+# crypto::rsa (+any)
+stdlib_crypto_rsa_any_srcs = \
+ $(STDLIB)/crypto/rsa/core.ha \
+ $(STDLIB)/crypto/rsa/errors.ha \
+ $(STDLIB)/crypto/rsa/keys.ha \
+ $(STDLIB)/crypto/rsa/pkcs1.ha
+
+$(HARECACHE)/crypto/rsa/crypto_rsa-any.ssa: $(stdlib_crypto_rsa_any_srcs) $(stdlib_rt) $(stdlib_bufio_$(PLATFORM)) $(stdlib_bytes_$(PLATFORM)) $(stdlib_crypto_bigint_$(PLATFORM)) $(stdlib_crypto_math_$(PLATFORM)) $(stdlib_crypto_sha1_$(PLATFORM)) $(stdlib_crypto_sha256_$(PLATFORM)) $(stdlib_crypto_sha512_$(PLATFORM)) $(stdlib_endian_$(PLATFORM)) $(stdlib_errors_$(PLATFORM)) $(stdlib_hash_$(PLATFORM)) $(stdlib_io_$(PLATFORM)) $(stdlib_types_$(PLATFORM))
+ @printf 'HAREC \t$@\n'
+ @mkdir -p $(HARECACHE)/crypto/rsa
+ @HARECACHE=$(HARECACHE) $(HAREC) $(HAREFLAGS) -o $@ -Ncrypto::rsa \
+ -t$(HARECACHE)/crypto/rsa/crypto_rsa.td $(stdlib_crypto_rsa_any_srcs)
+
# crypto::poly1305 (+any)
stdlib_crypto_poly1305_any_srcs = \
$(STDLIB)/crypto/poly1305/poly1305.ha
@@ -2422,6 +2441,12 @@ testlib_deps_linux += $(testlib_crypto_random_linux)
testlib_crypto_random_freebsd = $(TESTCACHE)/crypto/random/crypto_random-freebsd.o
testlib_deps_freebsd += $(testlib_crypto_random_freebsd)
+# gen_lib crypto::rsa (any)
+testlib_crypto_rsa_any = $(TESTCACHE)/crypto/rsa/crypto_rsa-any.o
+testlib_deps_any += $(testlib_crypto_rsa_any)
+testlib_crypto_rsa_linux = $(testlib_crypto_rsa_any)
+testlib_crypto_rsa_freebsd = $(testlib_crypto_rsa_any)
+
# gen_lib crypto::poly1305 (any)
testlib_crypto_poly1305_any = $(TESTCACHE)/crypto/poly1305/crypto_poly1305-any.o
testlib_deps_any += $(testlib_crypto_poly1305_any)
@@ -3159,6 +3184,22 @@ $(TESTCACHE)/crypto/random/crypto_random-freebsd.ssa: $(testlib_crypto_random_fr
@HARECACHE=$(TESTCACHE) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::random \
-t$(TESTCACHE)/crypto/random/crypto_random.td $(testlib_crypto_random_freebsd_srcs)
+# crypto::rsa (+any)
+testlib_crypto_rsa_any_srcs = \
+ $(STDLIB)/crypto/rsa/core.ha \
+ $(STDLIB)/crypto/rsa/errors.ha \
+ $(STDLIB)/crypto/rsa/keys.ha \
+ $(STDLIB)/crypto/rsa/pkcs1.ha \
+ $(STDLIB)/crypto/rsa/+test/core.ha \
+ $(STDLIB)/crypto/rsa/+test/keys.ha \
+ $(STDLIB)/crypto/rsa/+test/pkcs1.ha
+
+$(TESTCACHE)/crypto/rsa/crypto_rsa-any.ssa: $(testlib_crypto_rsa_any_srcs) $(testlib_rt) $(testlib_bufio_$(PLATFORM)) $(testlib_bytes_$(PLATFORM)) $(testlib_crypto_bigint_$(PLATFORM)) $(testlib_crypto_math_$(PLATFORM)) $(testlib_crypto_sha1_$(PLATFORM)) $(testlib_crypto_sha256_$(PLATFORM)) $(testlib_crypto_sha512_$(PLATFORM)) $(testlib_endian_$(PLATFORM)) $(testlib_errors_$(PLATFORM)) $(testlib_hash_$(PLATFORM)) $(testlib_io_$(PLATFORM)) $(testlib_types_$(PLATFORM))
+ @printf 'HAREC \t$@\n'
+ @mkdir -p $(TESTCACHE)/crypto/rsa
+ @HARECACHE=$(TESTCACHE) $(HAREC) $(TESTHAREFLAGS) -o $@ -Ncrypto::rsa \
+ -t$(TESTCACHE)/crypto/rsa/crypto_rsa.td $(testlib_crypto_rsa_any_srcs)
+
# crypto::poly1305 (+any)
testlib_crypto_poly1305_any_srcs = \
$(STDLIB)/crypto/poly1305/poly1305.ha \