Skip to content

Commit eddf0bd

Browse files
committed
Progress getting the Windows tools to build.
1 parent c3fe505 commit eddf0bd

File tree

5 files changed

+49
-17
lines changed

5 files changed

+49
-17
lines changed

tools/keytools/Makefile

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ LD = gcc
1212
WOLFBOOTDIR = ../..
1313
WOLFDIR = $(WOLFBOOTDIR)/lib/wolfssl
1414
CFLAGS = -Wall -Wextra -Werror
15-
CFLAGS += -I. -DWOLFSSL_USER_SETTINGS -I$(WOLFDIR) -I$(WOLFBOOTDIR)/include -DWOLFBOOT_KEYTOOLS
15+
CFLAGS += -I. -DWOLFSSL_USER_SETTINGS -I$(WOLFDIR) -I$(WOLFBOOTDIR)/include
1616
LDFLAGS =
1717
OBJDIR = ./
1818
LIBS =
@@ -23,25 +23,16 @@ CFLAGS+=-DML_DSA_LEVEL=$(ML_DSA_LEVEL)
2323
LMS_LEVELS?=1
2424
LMS_HEIGHT?=10
2525
LMS_WINTERNITZ?=8
26-
XMSS_PARAMS?='XMSS-SHA2_10_256'
2726

2827
# Common to wc_lms and ext_lms.
29-
CFLAGS +=-DWOLFBOOT_SIGN_LMS -DWOLFSSL_HAVE_LMS \
30-
-D"LMS_LEVELS=$(LMS_LEVELS)" -D"LMS_HEIGHT=$(LMS_HEIGHT)" \
28+
CFLAGS +=-D"LMS_LEVELS=$(LMS_LEVELS)" \
29+
-D"LMS_HEIGHT=$(LMS_HEIGHT)" \
3130
-D"LMS_WINTERNITZ=$(LMS_WINTERNITZ)"
3231

33-
34-
# LMS flags
35-
CFLAGS +=-DWOLFSSL_WC_LMS
36-
37-
# ML_DSA flags
38-
CFLAGS +=-DWOLFSSL_HAVE_DILITHIUM
39-
4032
# XMSS flags
41-
CFLAGS +=-DWOLFBOOT_SIGN_XMSS -DWOLFSSL_HAVE_XMSS \
42-
-D"IMAGE_SIGNATURE_SIZE"=$(IMAGE_SIGNATURE_SIZE) \
33+
XMSS_PARAMS?='XMSS-SHA2_10_256'
34+
CFLAGS +=-D"IMAGE_SIGNATURE_SIZE"=$(IMAGE_SIGNATURE_SIZE) \
4335
-DWOLFBOOT_XMSS_PARAMS=\"$(XMSS_PARAMS)\"
44-
CFLAGS +=-D"WOLFSSL_WC_XMSS" -D"WOLFSSL_XMSS_MAX_HEIGHT=32"
4536

4637
# When WOLFBOOT_UNIVERSAL_KEYSTORE is defined, pad store_sizes in keystore.der
4738
ifeq ($(WOLFBOOT_UNIVERSAL_KEYSTORE),1)

tools/keytools/user_settings.h

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
#include <stdint.h>
3030

3131
/* System */
32+
#define WOLFBOOT_KEYTOOLS
3233
#define SINGLE_THREADED
3334
#define WOLFCRYPT_ONLY
3435

@@ -73,19 +74,49 @@
7374
#define WOLFSSL_SHA3
7475
#undef NO_SHA256
7576

77+
/* Enable experimental PQ algos */
78+
#define WOLFSSL_EXPERIMENTAL_SETTINGS
79+
7680
/* ML-DSA (dilithium) */
7781
#define HAVE_DILITHIUM
7882
#define WOLFSSL_WC_DILITHIUM
79-
#define WOLFSSL_EXPERIMENTAL_SETTINGS
8083
/* Wolfcrypt builds ML-DSA (dilithium) to the FIPS 204 final
8184
* standard by default. Uncomment this if you want the draft
8285
* version instead. */
8386
#if 0
84-
#define WOLFSSL_DILITHIUM_FIPS204_DRAFT
87+
#define WOLFSSL_DILITHIUM_FIPS204_DRAFT
88+
#endif
89+
#ifndef ML_DSA_LEVEL
90+
#define ML_DSA_LEVEL 5
8591
#endif
8692
/* dilithium needs these sha functions. */
8793
#define WOLFSSL_SHAKE128
8894

95+
/* LMS */
96+
#define WOLFBOOT_SIGN_LMS
97+
#define WOLFSSL_HAVE_LMS
98+
#define WOLFSSL_WC_LMS
99+
#ifndef LMS_LEVELS
100+
#define LMS_LEVELS 1
101+
#endif
102+
#ifndef LMS_HEIGHT
103+
#define LMS_HEIGHT 10
104+
#endif
105+
#ifndef LMS_WINTERNITZ
106+
#define LMS_WINTERNITZ 8
107+
#endif
108+
109+
/* XMSS */
110+
#define WOLFBOOT_SIGN_XMSS
111+
#define WOLFSSL_HAVE_XMSS
112+
#define WOLFSSL_WC_XMSS
113+
#ifndef WOLFBOOT_XMSS_PARAMS
114+
#define WOLFBOOT_XMSS_PARAMS "XMSS-SHA2_10_256"
115+
#endif
116+
#ifndef WOLFSSL_XMSS_MAX_HEIGHT
117+
#define WOLFSSL_XMSS_MAX_HEIGHT 32
118+
#endif
119+
89120
/* ASN */
90121
#define WOLFSSL_ASN_TEMPLATE
91122

tools/keytools/wolfBootKeygenTool.vcxproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@
157157
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\asn.c" />
158158
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\chacha.c" />
159159
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\coding.c" />
160+
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\dilithium.c" />
160161
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\ecc.c" />
161162
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\ed25519.c" />
162163
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\ed448.c" />
@@ -177,6 +178,10 @@
177178
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\sp_int.c" />
178179
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\tfm.c" />
179180
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wc_port.c" />
181+
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wc_lms.c" />
182+
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wc_lms_impl.c" />
183+
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wc_xmss.c" />
184+
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wc_xmss_impl.c" />
180185
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wolfmath.c" />
181186
<ClCompile Include="keygen.c" />
182187
</ItemGroup>

tools/keytools/wolfBootSignTool.vcxproj

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@
158158
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\asn.c" />
159159
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\chacha.c" />
160160
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\coding.c" />
161+
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\dilithium.c" />
161162
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\ecc.c" />
162163
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\ed25519.c" />
163164
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\ed448.c" />
@@ -178,6 +179,10 @@
178179
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\sp_int.c" />
179180
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\tfm.c" />
180181
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wc_port.c" />
182+
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wc_lms.c" />
183+
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wc_lms_impl.c" />
184+
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wc_xmss.c" />
185+
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wc_xmss_impl.c" />
181186
<ClCompile Include="..\..\lib\wolfssl\wolfcrypt\src\wolfmath.c" />
182187
<ClCompile Include="..\..\src\delta.c" />
183188
<ClCompile Include="sign.c">

0 commit comments

Comments
 (0)