Skip to content

Commit 6724a3d

Browse files
committed
FIPS Check Script with Explicit Versioning
1. Remove the demo OE. 2. Update all OEs with the new file lists. 3. Merge OEs with same files and tags, and add a check for the difference to optionally update that. For example, solaris is the same file list and tags as linuxv2, but uses gmake instead of make.
1 parent 87695ad commit 6724a3d

1 file changed

Lines changed: 114 additions & 64 deletions

File tree

fips-check.sh

Lines changed: 114 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -45,44 +45,99 @@ while [ "$1" ]; do
4545
done
4646

4747
case "$FLAVOR" in
48-
#linuxv2|fipsv2-OE-ready)
49-
# FIPS_OPTION='v2'
50-
# FIPS_VERSION='WCv4-stable'
51-
# CRYPT_VERSION='WCv4-stable'
52-
# RNG_VERSION='WCv4-rng-stable'
53-
# WC_MODS=('aes' 'aes_asm' 'cmac' 'des3' 'dh' 'ecc' 'hmac' 'random' 'rsa' 'sha' 'sha256' 'sha3' 'sha512')
54-
# FIPS_SRCS=('fips.c' 'fips_test.c' 'wolfcrypt_first.c' 'wolfcrypt_last.c')
55-
# FIPS_INCS=('fips.h')
56-
# ;;
57-
#netbsd-selftest)
58-
# # non-FIPS, CAVP only but pull in selftest
59-
# FIPS_OPTION='cavp-selftest'
60-
# FIPS_VERSION='v3.14.2b'
61-
# CRYPT_VERSION='v3.14.2'
62-
# RNG_VERSION='v3.14.2'
63-
# WC_MODS=('aes' 'dh' 'dsa' 'ecc' 'hmac' 'random' 'rsa' 'sha' 'sha256' 'sha512')
64-
# FIPS_SRCS=('selftest.c')
65-
# ;;
66-
#marvell-linux-selftest)
67-
# # non-FIPS, CAVP only but pull in selftest
68-
# FIPS_OPTION='cavp-selftest-v2'
69-
# FIPS_VERSION='v3.14.2b'
70-
# CRYPT_VERSION='v4.1.0-stable'
71-
# RNG_VERSION='v4.1.0-stable'
72-
# WC_MODS=('aes' 'dh' 'dsa' 'ecc' 'hmac' 'random' 'rsa' 'sha' 'sha256' 'sha512')
73-
# FIPS_SRCS=('selftest.c')
74-
# ;;
75-
#linuxv5)
76-
# FIPS_OPTION='v5'
77-
# FIPS_VERSION='WCv5.0-RC12'
78-
# CRYPT_VERSION='WCv5.0-RC12'
79-
# RNG_VERSION='WCv5.0-RC12'
80-
# WC_MODS=('aes' 'aes_asm' 'cmac' 'dh' 'ecc' 'hmac' 'kdf' 'random' 'rsa' 'sha' 'sha256' 'sha256_asm' 'sha3' 'sha512' 'sha512_asm')
81-
# FIPS_SRCS=('fips.c' 'fips_test.c' 'wolfcrypt_first.c' 'wolfcrypt_last.c')
82-
# FIPS_INCS=('fips.h')
83-
# COPY_DIRECT=('wolfcrypt/src/aes_gcm_asm.S')
84-
# ;;
85-
linuxv5a)
48+
linuxv2|fipsv2-OE-ready|solaris)
49+
FIPS_OPTION='v2'
50+
FIPS_FILES=('WCv4-stable'
51+
'wolfcrypt/src/fips.c'
52+
'wolfcrypt/src/fips_test.c'
53+
'wolfcrypt/src/wolfcrypt_first.c'
54+
'wolfcrypt/src/wolfcrypt_last.c'
55+
'wolfssl/wolfcrypt/fips.h'
56+
)
57+
WOLFCRYPT_FILES=(
58+
'wolfcrypt/src/aes.c:WCv4-stable'
59+
'wolfcrypt/src/aes_asm.S:WCv4-stable'
60+
'wolfcrypt/src/cmac.c:WCv4-stable'
61+
'wolfcrypt/src/des3.c:WCv4-stable'
62+
'wolfcrypt/src/dh.c:WCv4-stable'
63+
'wolfcrypt/src/ecc.c:WCv4-stable'
64+
'wolfcrypt/src/hmac.c:WCv4-stable'
65+
'wolfcrypt/src/random.c:WCv4-rng-stable'
66+
'wolfcrypt/src/rsa.c:WCv4-stable'
67+
'wolfcrypt/src/sha.c:WCv4-stable'
68+
'wolfcrypt/src/sha256.c:WCv4-stable'
69+
'wolfcrypt/src/sha3.c:WCv4-stable'
70+
'wolfcrypt/src/sha512.c:WCv4-stable'
71+
'wolfssl/wolfcrypt/aes.h:WCv4-stable'
72+
'wolfssl/wolfcrypt/cmac.h:WCv4-stable'
73+
'wolfssl/wolfcrypt/des3.h:WCv4-stable'
74+
'wolfssl/wolfcrypt/dh.h:WCv4-stable'
75+
'wolfssl/wolfcrypt/ecc.h:WCv4-stable'
76+
'wolfssl/wolfcrypt/hmac.h:WCv4-stable'
77+
'wolfssl/wolfcrypt/random.h:WCv4-rng-stable'
78+
'wolfssl/wolfcrypt/rsa.h:WCv4-stable'
79+
'wolfssl/wolfcrypt/sha.h:WCv4-stable'
80+
'wolfssl/wolfcrypt/sha256.h:WCv4-stable'
81+
'wolfssl/wolfcrypt/sha3.h:WCv4-stable'
82+
'wolfssl/wolfcrypt/sha512.h:WCv4-stable'
83+
)
84+
if [ "$FLAVOR" = 'solaris' ]; then MAKE='gmake'; fi
85+
;;
86+
netbsd-selftest)
87+
# non-FIPS, CAVP only but pull in selftest
88+
FIPS_OPTION='cavp-selftest'
89+
FIPS_FILES=('v3.14.2b' 'wolfcrypt/src/selftest.c')
90+
WOLFCRYPT_FILES=(
91+
'wolfcrypt/src/aes.c:v3.14.2'
92+
'wolfcrypt/src/dh.c:v3.14.2'
93+
'wolfcrypt/src/dsa.c:v3.14.2'
94+
'wolfcrypt/src/ecc.c:v3.14.2'
95+
'wolfcrypt/src/hmac.c:v3.14.2'
96+
'wolfcrypt/src/random.c:v3.14.2'
97+
'wolfcrypt/src/rsa.c:v3.14.2'
98+
'wolfcrypt/src/sha.c:v3.14.2'
99+
'wolfcrypt/src/sha256.c:v3.14.2'
100+
'wolfcrypt/src/sha512.c:v3.14.2'
101+
'wolfssl/wolfcrypt/aes.h:v3.14.2'
102+
'wolfssl/wolfcrypt/dh.h:v3.14.2'
103+
'wolfssl/wolfcrypt/dsa.h:v3.14.2'
104+
'wolfssl/wolfcrypt/ecc.h:v3.14.2'
105+
'wolfssl/wolfcrypt/hmac.h:v3.14.2'
106+
'wolfssl/wolfcrypt/random.h:v3.14.2'
107+
'wolfssl/wolfcrypt/rsa.h:v3.14.2'
108+
'wolfssl/wolfcrypt/sha.h:v3.14.2'
109+
'wolfssl/wolfcrypt/sha256.h:v3.14.2'
110+
'wolfssl/wolfcrypt/sha512.h:v3.14.2'
111+
)
112+
;;
113+
marvell-linux-selftest)
114+
# non-FIPS, CAVP only but pull in selftest
115+
FIPS_OPTION='cavp-selftest-v2'
116+
FIPS_FILES=('v3.14.2b' 'wolfcrypt/src/selftest.c')
117+
WOLFCRYPT_FILES=(
118+
'wolfcrypt/src/aes.c:v4.1.0-stable'
119+
'wolfcrypt/src/dh.c:v4.1.0-stable'
120+
'wolfcrypt/src/dsa.c:v4.1.0-stable'
121+
'wolfcrypt/src/ecc.c:v4.1.0-stable'
122+
'wolfcrypt/src/hmac.c:v4.1.0-stable'
123+
'wolfcrypt/src/random.c:v4.1.0-stable'
124+
'wolfcrypt/src/rsa.c:v4.1.0-stable'
125+
'wolfcrypt/src/sha.c:v4.1.0-stable'
126+
'wolfcrypt/src/sha256.c:v4.1.0-stable'
127+
'wolfcrypt/src/sha512.c:v4.1.0-stable'
128+
'wolfssl/wolfcrypt/aes.h:v4.1.0-stable'
129+
'wolfssl/wolfcrypt/dh.h:v4.1.0-stable'
130+
'wolfssl/wolfcrypt/dsa.h:v4.1.0-stable'
131+
'wolfssl/wolfcrypt/ecc.h:v4.1.0-stable'
132+
'wolfssl/wolfcrypt/hmac.h:v4.1.0-stable'
133+
'wolfssl/wolfcrypt/random.h:v4.1.0-stable'
134+
'wolfssl/wolfcrypt/rsa.h:v4.1.0-stable'
135+
'wolfssl/wolfcrypt/sha.h:v4.1.0-stable'
136+
'wolfssl/wolfcrypt/sha256.h:v4.1.0-stable'
137+
'wolfssl/wolfcrypt/sha512.h:v4.1.0-stable'
138+
)
139+
;;
140+
linuxv5)
86141
FIPS_OPTION='v5'
87142
FIPS_FILES=('WCv5.0-RC12'
88143
'wolfcrypt/src/fips.c'
@@ -122,7 +177,7 @@ linuxv5a)
122177
'wolfssl/wolfcrypt/sha512.h:WCv5.0-RC12'
123178
)
124179
;;
125-
fips-ready)
180+
fips-ready|fips-dev)
126181
FIPS_OPTION='ready'
127182
FIPS_FILES=('master'
128183
'wolfcrypt/src/fips.c'
@@ -131,32 +186,27 @@ fips-ready)
131186
'wolfcrypt/src/wolfcrypt_last.c'
132187
'wolfssl/wolfcrypt/fips.h'
133188
)
189+
WOLFCRYPT_FILES=()
190+
if [ "$FLAVOR" = 'fips-dev' ]; then FIPS_OPTION='dev'; fi
191+
;;
192+
wolfrand)
193+
FIPS_OPTION='rand'
194+
FIPS_FILES=('WRv4-stable'
195+
'wolfcrypt/src/fips.c'
196+
'wolfcrypt/src/fips_test.c'
197+
'wolfcrypt/src/wolfcrypt_first.c'
198+
'wolfcrypt/src/wolfcrypt_last.c'
199+
'wolfssl/wolfcrypt/fips.h'
200+
)
201+
WOLFCRYPT_FILES=(
202+
'wolfcrypt/src/hmac.c:WCv4-stable'
203+
'wolfcrypt/src/random.c:WCv4-rng-stable'
204+
'wolfcrypt/src/sha256.c:WCv4-stable'
205+
'wolfssl/wolfcrypt/hmac.h:WCv4-stable'
206+
'wolfssl/wolfcrypt/random.h:WCv4-rng-stable'
207+
'wolfssl/wolfcrypt/sha256.h:WCv4-stable'
208+
)
134209
;;
135-
#fips-dev)
136-
# FIPS_OPTION='dev'
137-
# FIPS_VERSION='master'
138-
# FIPS_SRCS=('fips.c' 'fips_test.c' 'wolfcrypt_first.c' 'wolfcrypt_last.c')
139-
# FIPS_INCS=('fips.h')
140-
# ;;
141-
#wolfrand)
142-
# FIPS_OPTION='rand'
143-
# FIPS_VERSION='WRv4-stable'
144-
# CRYPT_VERSION='WCv4-stable'
145-
# RNG_VERSION='WCv4-rng-stable'
146-
# WC_MODS=('hmac' 'random' 'sha256')
147-
# FIPS_SRCS=('fips.c' 'fips_test.c' 'wolfcrypt_first.c' 'wolfcrypt_last.c')
148-
# FIPS_INCS=('fips.h')
149-
# ;;
150-
#solaris)
151-
# FIPS_OPTION='v2'
152-
# FIPS_VERSION='WCv4-stable'
153-
# CRYPT_VERSION='WCv4-stable'
154-
# RNG_VERSION='WCv4-rng-stable'
155-
# WC_MODS=('aes' 'aes_asm' 'cmac' 'des3' 'dh' 'ecc' 'hmac' 'random' 'rsa' 'sha' 'sha256' 'sha3' 'sha512')
156-
# FIPS_SRCS=('fips.c' 'fips_test.c' 'wolfcrypt_first.c' 'wolfcrypt_last.c')
157-
# FIPS_INCS=('fips.h')
158-
# MAKE='gmake'
159-
# ;;
160210
*)
161211
Usage
162212
exit 1

0 commit comments

Comments
 (0)