1#!/bin/bash 2 3# This file is part of the openHiTLS project. 4# 5# openHiTLS is licensed under the Mulan PSL v2. 6# You can use this software according to the terms and conditions of the Mulan PSL v2. 7# You may obtain a copy of Mulan PSL v2 at: 8# 9# http://license.coscl.org.cn/MulanPSL2 10# 11# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 12# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 13# MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 14# See the Mulan PSL v2 for more details. 15# Build different miniaturized targets and perform basic functional testing. 16 17set -eu 18 19PARAM_LIST=$@ 20 21COMMON_PARAM="" 22TEST="" 23ASM_TYPE="" 24 25parse_option() 26{ 27 for i in $PARAM_LIST 28 do 29 case "${i}" in 30 "bsl"|"md"|"mac"|"kdf"|"cipher"|"bn"|"ecc"|"pkey"|"pki"|"all"|"tls") 31 TEST=$i 32 ;; 33 "x8664"|"armv8") 34 ASM_TYPE=$i 35 COMMON_PARAM="$COMMON_PARAM $i" 36 ;; 37 "linux") 38 COMMON_PARAM="$COMMON_PARAM $i" 39 ;; 40 "32") 41 COMMON_PARAM="$COMMON_PARAM $i" 42 ;; 43 "big") 44 COMMON_PARAM="$COMMON_PARAM $i" 45 ;; 46 *) 47 echo "Wrong parameter: $i" 48 exit 1 49 ;; 50 esac 51 done 52} 53 54test_bsl() 55{ 56 if [ "$ASM_TYPE" != "" ]; then 57 echo "bsl does not support assembly." 58 return 59 fi 60 NO_LIB="no-crypto no-tls linux" 61 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=asn1 test=asn1 62 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=base64 test=base64 63 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=buffer test=buffer 64 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=err test=err 65 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=hash test=hash 66 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=init test=init 67 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=list test=list 68 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=log test=log 69 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=obj test=obj 70 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=obj,hash,sal_thread test=obj # depends on thread to init hash 71 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=params test=params 72 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=pem test=pem 73 74 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=sal test=sal 75 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=sal_mem test=sal_mem 76 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=sal_thread test=sal_thread 77 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=sal_lock test=sal_lock 78 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=sal_time test=sal_time 79 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=sal_file test=sal_file 80 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=sal_net test=sal_net 81 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=sal_str test=sal_str 82 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=sal_dl test=sal_dl 83 84 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=tlv test=tlv 85 86 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=uio test=uio 87 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=uio_buffer 88 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=uio_mem 89 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=uio_sctp 90 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=uio_tcp 91 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=uio_udp 92 93 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=usrdata test=usrdata 94} 95 96test_md() 97{ 98 NO_LIB="no-tls" 99 if [ "$ASM_TYPE" = "armv8" ]; then 100 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm3 test=sm3 101 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sha1 test=sha1 102 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sha2 test=sha2 103 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sha224 test=sha224 104 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sha256 test=sha256 105 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha384 test=sha384 106 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha512 test=sha512 107 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha3 test=sha3 108 elif [ "$ASM_TYPE" = "x8664" ]; then 109 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm3 test=sm3 110 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,md5 test=md5 111 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha1 test=sha1 112 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha2 test=sha2 113 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha224 test=sha224 114 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha256 test=sha256 115 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha384 test=sha384 116 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha512 test=sha512 117 else 118 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,md5 test=md5 119 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm3 test=sm3 120 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha1 test=sha1 121 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha2 test=sha2 122 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha224 test=sha224 123 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha256 test=sha256 124 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha384 test=sha384 125 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha512 test=sha512 126 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sha3 test=sha3 127 fi 128} 129 130test_mac() 131{ 132 if [ "$ASM_TYPE" != "" ]; then 133 echo "mac does not support assembly." 134 return 135 fi 136 NO_LIB="no-tls" 137 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hmac,md5 test=hmac 138 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hmac,sha1 test=hmac 139 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hmac,sha2 test=hmac 140 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hmac,sha224 test=hmac 141 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hmac,sha256 test=hmac 142 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hmac,sha384 test=hmac 143 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hmac,sha512 test=hmac 144 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hmac,sha3 test=hmac 145 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hmac,sm3 test=hmac 146 147 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,gmac test=gmac 148 149 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,cmac_aes test=cmac_aes 150 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,cmac_sm4 test=cmac_sm4 151 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,cbc_mac test=cbc_mac 152 153 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,siphash test=siphash 154} 155 156test_kdf() 157{ 158 if [ "$ASM_TYPE" != "" ]; then 159 echo "kdf does not support assembly." 160 return 161 fi 162 NO_LIB="no-tls" 163 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,scrypt test=scrypt 164 165 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hkdf,md5 test=hkdf 166 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hkdf,sha1 test=hkdf 167 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hkdf,sha2 test=hkdf 168 169 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,pbkdf2,md5 test=pbkdf2 170 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,pbkdf2,sha1 test=pbkdf2 171 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,pbkdf2,sha2 test=pbkdf2 172 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,pbkdf2,sha3 test=pbkdf2 173 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,pbkdf2,sm3 test=pbkdf2 174 175 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,kdftls12,sha256 test=kdftls12 176 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,kdftls12,sha384 test=kdftls12 177 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,kdftls12,sha512 test=kdftls12 178} 179 180test_cipher() 181{ 182 NO_LIB="no-tls" 183 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,aes,modes test=aes 184 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,aes,cbc test=aes 185 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,aes,ctr test=aes 186 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,aes,ecb test=aes # SDV_CRYPTO_AES_ENCRYPT_FUNC_TC001 187 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,aes,xts test=aes # SDV_CRYPTO_EAL_AES_FUNC_TC001 188 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,aes,ccm test=aes 189 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,aes,gcm test=aes 190 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,aes,cfb test=aes 191 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,aes,ofb test=aes 192 193 if [ "$ASM_TYPE" = "x8664" ]; then 194 # depends on ealinit 195 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sm4,modes test=sm4 196 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sm4,xts test=sm4 197 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sm4,cbc test=sm4 198 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sm4,ecb test=sm4 199 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sm4,ctr test=sm4 200 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sm4,gcm test=sm4 201 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sm4,cfb test=sm4 202 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ealinit,sm4,ofb test=sm4 203 else 204 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm4,modes test=sm4 205 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm4,xts test=sm4 206 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm4,cbc test=sm4 207 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm4,ecb test=sm4 208 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm4,ctr test=sm4 209 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm4,gcm test=sm4 210 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm4,cfb test=sm4 211 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,sm4,ofb test=sm4 212 fi 213 214 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,chacha20 test=chacha20 215} 216 217test_bn() 218{ 219 NO_LIB="no-tls" 220 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=bn 221 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=bn_basic 222 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal_bn 223 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=bn_rand 224 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=bn_prime 225 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=bn_str_conv 226 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=bn_cb 227 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=bn_prime_rfc3526 228} 229 230test_ecc() 231{ 232 NO_LIB="no-tls" 233 if [ "$ASM_TYPE" = "armv8" -o "$ASM_TYPE" = "x8664" ]; then 234 # The curves that support assembly are: curve_sm2, curve_nistp256 235 # all curves. 236 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,ecdh,ecdsa,sm2,drbg_hash,entropy,sha2,ecc,ealinit test=curve_nistp224 237 # sm2, depends on sm3 238 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,sm2,drbg_hash,entropy,ealinit test=sm2 239 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,sm2_crypt,drbg_hash,entropy,ealinit test=sm2_crypt 240 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,sm2_exch,drbg_hash,entropy,ealinit test=sm2_exch 241 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,sm2_sign,drbg_hash,entropy,ealinit test=sm2_sign 242 # nistp256 243 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,ecdh,ecdsa,drbg_hash,entropy,sha2,curve_nistp256,ealinit test=curve_nistp256 244 245 return 246 fi 247 248 # Test all curves. 249 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,ecdh,ecdsa,sm2,drbg_hash,entropy,sha2,ecc test=curve_nistp224 250 251 # nist224/256/384/521 252 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,ecdh,ecdsa,drbg_hash,entropy,sha2,curve_nistp224 test=curve_nistp224 253 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,ecdh,ecdsa,drbg_hash,entropy,sha2,curve_nistp256 test=curve_nistp256 254 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,ecdh,ecdsa,drbg_hash,entropy,sha2,curve_nistp384 test=curve_nistp384 255 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,ecdh,ecdsa,drbg_hash,entropy,sha2,curve_nistp521 test=curve_nistp521 256 257 # br256/384/512 258 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,ecdh,ecdsa,drbg_hash,entropy,sha2,curve_bp256r1 test=curve_bp256r1 259 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,ecdh,ecdsa,drbg_hash,entropy,sha2,curve_bp384r1 test=curve_bp384r1 260 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,ecdh,ecdsa,drbg_hash,entropy,sha2,curve_bp512r1 test=curve_bp512r1 261 262 # sm2 depends on sm3 by default. 263 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,sm2,drbg_hash,entropy test=sm2 264 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,sm2_crypt,drbg_hash,entropy test=sm2_crypt 265 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,sm2_exch,drbg_hash,entropy test=sm2_exch 266 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,sm2_sign,drbg_hash,entropy test=sm2_sign 267} 268 269test_pkey() 270{ 271 NO_LIB="no-tls" 272 if [ "$ASM_TYPE" = "x8664" -o "$ASM_TYPE" = "armv8" ]; then 273 # The pkey that support assembly is: x25519. 274 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=x25519,sha2,ealinit 275 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,x25519,drbg_hash,sha2,ealinit test=x25519 276 return 277 fi 278 # rsa 279 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa,rsa_bssa,drbg_hash,sha1,sha2 test=rsa 280 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa,drbg_hash,sha1,sha2 test=rsa 281 282 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_gen,drbg_hash,sha1,sha2 test=rsa_gen 283 284 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_sign,rsa_emsa_pss,sha1,sha2,drbg_hash test=rsa_sign 285 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_sign,rsa_emsa_pss,drbg_hash,sha1,sha2 test=rsa_sign 286 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_sign,rsa_emsa_pkcsv15,sha1,sha2 test=rsa_sign # not need drbg 287 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_verify,rsa_emsa_pss,sha1,sha2 test=rsa_verify # not need drbg 288 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_verify,rsa_emsa_pkcsv15,sha1,sha2 test=rsa_verify # not need drbg 289 290 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_encrypt,rsa_no_pad,sha1,sha2 test=rsa_encrypt # not need drbg 291 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_encrypt,rsaes_oaep,drbg_hash,sha1,sha2 test=rsa_encrypt 292 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_encrypt,rsaes_pkcsv15,drbg_hash,sha1,sha2 test=rsa_encrypt 293 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_encrypt,rsaes_pkcsv15_tls,drbg_hash,sha1,sha2 test=rsa_encrypt 294 295 # rsa_decrypt: not need drbg 296 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_decrypt,rsa_no_pad,sha1,sha2 test=rsa_decrypt 297 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_decrypt,rsaes_oaep,sha1,sha2 test=rsa_decrypt 298 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_decrypt,rsaes_pkcsv15,sha1,sha2 test=rsa_decrypt 299 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_decrypt,rsaes_pkcsv15_tls,sha1,sha2 test=rsa_decrypt 300 301 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_sign,rsa_blinding,rsa_emsa_pkcsv15,drbg_hash,sha1,sha2 test=rsa_sign 302 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_decrypt,rsa_blinding,rsaes_oaep,drbg_hash,sha1,sha2 test=rsa_decrypt 303 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_sign,rsa_bssa,rsa_blinding,rsa_emsa_pss,drbg_hash,sha1,sha2 test=rsa_sign 304 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,rsa_sign,rsa_verify,rsa_bssa,rsa_emsa_pss,drbg_hash,sha1,sha2 test=rsa_sign 305 306 # dsa 307 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,eal_bn,dsa,drbg_hash,sha2 test=dsa 308 309 # dh 310 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,dh,drbg_hash,sha2 test=dh 311 312 # curve25519: ed25519 depends on sha512 by default. 313 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,x25519,drbg_hash,sha2 test=x25519 314 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,ed25519,drbg_hash,sha2 test=ed25519 315 316 # mldsa 317 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,mldsa,drbg_hash,sha2 test=mldsa 318 319 # paillier 320 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,paillier,drbg_hash,sha2 test=paillier 321 322 # mlkem 323 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,mlkem,drbg_hash,sha2 test=mlkem 324 325 # hybridkem 326 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,hybridkem,x25519,ecdh,ecc,drbg_hash,sha2 test=hybridkem 327 328 # elgamal 329 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,elgamal,drbg_hash,sha2 test=elgamal 330 331 # slh_dsa 332 bash mini_build_test.sh $COMMON_PARAM $NO_LIB enable=eal,slh_dsa,drbg_hash,sha2 test=slh_dsa 333} 334 335test_tls() 336{ 337 NO_LIB="" 338 bash mini_build_test.sh $COMMON_PARAM $NO_LIB feature-config=tlcp_feature test=base,asn1,base64,buffer,err,hash,init,list,log,obj,params,pem,tlv,usrdata,sal,sal_mem,sal_lock,sal_str,sal_file,sal_thread,sal_net,sal_time,aes,bn,chacha20,cmac_aes,drbg_ctr,drbg_hash,ecc,ecdh,ecdsa,entropy,gcm,hkdf,hpke,mlkem,mldsa,sha256,sha384,sha512,slh_dsa,sm2,sm3,sm4,x25519,curve_nistp256,curve_nistp384,curve_nistp521,x509_crl_gen,x509_crl_parse,x509_csr_gen,x509_csr_parse,x509_crt_gen,x509_crt_parse,x509_vfy,tlcp linux 339 bash mini_build_test.sh $COMMON_PARAM $NO_LIB feature-config=nokem_feature test=base linux 340} 341 342test_pki() 343{ 344 if [ "$ASM_TYPE" != "" ]; then 345 return 346 fi 347 bash mini_build_test.sh no-tls enable=eal,codecskey,rsa,drbg_hash,cipher,modes,sha256,hmac 348 bash mini_build_test.sh no-tls enable=eal,key_epki,key_encode,rsa,drbg_hash,cipher,modes,sha256,hmac 349 bash mini_build_test.sh no-tls enable=eal,key_encode,rsa,sha256,drbg_hash 350 bash mini_build_test.sh no-tls enable=eal,key_decode,rsa,sha256,drbg_hash 351 bash mini_build_test.sh no-tls enable=eal,x509,rsa,sha256,drbg_hash 352 bash mini_build_test.sh no-tls enable=eal,x509_crt,rsa,sha256,drbg_hash 353 bash mini_build_test.sh no-tls enable=eal,x509_crt_gen,rsa,sha256,drbg_hash 354 bash mini_build_test.sh no-tls enable=eal,x509_crt_parse,rsa,sha256,drbg_hash 355 bash mini_build_test.sh no-tls enable=eal,x509_csr,rsa,sha256,drbg_hash 356 bash mini_build_test.sh no-tls enable=eal,x509_csr_gen,rsa,sha256,drbg_hash 357 bash mini_build_test.sh no-tls enable=eal,x509_csr_parse,rsa,sha256,drbg_hash 358 bash mini_build_test.sh no-tls enable=eal,x509_crl,rsa,sha256,drbg_hash 359 bash mini_build_test.sh no-tls enable=eal,x509_crl_gen,rsa,sha256,drbg_hash 360 bash mini_build_test.sh no-tls enable=eal,x509_crl_parse,rsa,sha256,drbg_hash 361 bash mini_build_test.sh no-tls enable=eal,x509_vfy,rsa,sha256,drbg_hash 362 bash mini_build_test.sh no-tls enable=eal,pkcs12,rsa,sha256,drbg_hash,md,cipher,modes,hmac 363 bash mini_build_test.sh no-tls enable=eal,pkcs12_gen,rsa,sha256,drbg_hash,md,cipher,modes,hmac 364 bash mini_build_test.sh no-tls enable=eal,pkcs12_parse,rsa,drbg_hash,md,cipher,modes,hmac 365 bash mini_build_test.sh no-tls enable=eal,info,x509_crt,rsa,drbg_hash,md,cipher,modes,hmac 366 367 ### key gen #### 368 bash mini_build_test.sh no-tls enable=eal,key_encode,sal_file,pem,rsa,sha256,drbg_hash test=key_encode linux 369 bash mini_build_test.sh no-tls enable=eal,key_encode,pem,ed25519,drbg_hash test=key_encode 370 bash mini_build_test.sh no-tls enable=eal,key_encode,sal_file,sm2,sha256,drbg_hash test=key_encode linux 371 bash mini_build_test.sh no-tls enable=eal,key_encode,pem,ecdsa,curve_nistp256,sha256,drbg_hash test=key_encode 372 373 #### key parse #### 374 bash mini_build_test.sh no-tls enable=eal,key_decode,sal_file,pem,rsa,sha256,drbg_hash test=key_decode linux 375 bash mini_build_test.sh no-tls enable=eal,key_decode,sal_file,pem,ed25519 test=key_decode linux 376 bash mini_build_test.sh no-tls enable=eal,key_decode,sal_file,sm2,sha256 test=key_decode linux 377 bash mini_build_test.sh no-tls enable=eal,key_decode,sal_file,pem,ecdsa,curve_nistp256,sha256 test=key_decode linux 378 379 #### crl gen #### 380 bash mini_build_test.sh no-tls enable=eal,x509_crl_gen,rsa,sal_file,pem,sha256,drbg_hash test=x509_crl_gen linux 381 bash mini_build_test.sh no-tls enable=eal,x509_crl_gen,pem,ed25519,drbg_hash test=x509_crl_gen 382 bash mini_build_test.sh no-tls enable=eal,x509_crl_gen,sm2,sha256,drbg_hash test=x509_crl_gen 383 bash mini_build_test.sh no-tls enable=eal,x509_crl_gen,sal_file,ecdsa,curve_nistp256,sha256,drbg_hash test=x509_crl_gen linux 384 385 #### crl parse #### 386 bash mini_build_test.sh no-tls enable=eal,x509_crl_parse,pem,sal_file,rsa,sha256,drbg_hash test=x509_crl_parse linux 387 bash mini_build_test.sh no-tls enable=eal,x509_crl_parse,sal_file,ed25519,sha256 test=x509_crl_parse linux 388 bash mini_build_test.sh no-tls enable=eal,x509_crl_parse,pem,sal_file,sm2,sha256 test=x509_crl_parse linux 389 bash mini_build_test.sh no-tls enable=eal,x509_crl_parse,sal_file,ecdsa,curve_nistp256,sha256 test=x509_crl_parse linux 390 391 #### csr gen #### 392 bash mini_build_test.sh no-tls enable=eal,x509_csr_gen,pem,rsa,sha256,drbg_hash test=x509_csr_gen 393 bash mini_build_test.sh no-tls enable=eal,x509_csr_gen,sal_file,ed25519,drbg_hash test=x509_csr_gen linux 394 bash mini_build_test.sh no-tls enable=eal,x509_csr_gen,sm2,sha256,drbg_hash test=x509_csr_gen 395 bash mini_build_test.sh no-tls enable=eal,x509_csr_gen,sal_file,pem,ecdsa,curve_nistp256,sha256,drbg_hash test=x509_csr_gen linux 396 397 #### csr parse #### 398 bash mini_build_test.sh no-tls enable=eal,x509_csr_parse,sal_file,rsa,sha256,drbg_hash test=x509_csr_parse linux 399 bash mini_build_test.sh no-tls enable=eal,x509_csr_parse,sal_file,pem,ed25519,drbg_hash test=x509_csr_parse linux 400 bash mini_build_test.sh no-tls enable=eal,x509_csr_parse,sal_file,pem,sm2,sha256,drbg_hash test=x509_csr_parse linux 401 bash mini_build_test.sh no-tls enable=eal,x509_csr_parse,sal_file,ecdsa,curve_nistp256,sha256,drbg_hash test=x509_csr_parse linux 402 403 #### cert gen #### 404 bash mini_build_test.sh no-tls enable=eal,x509_crt_gen,pem,rsa,sha256,drbg_hash test=x509_crt_gen 405 bash mini_build_test.sh no-tls enable=eal,x509_crt_gen,sal_file,pem,ed25519,drbg_hash test=x509_crt_gen linux 406 bash mini_build_test.sh no-tls enable=eal,x509_crt_gen,sal_file,sm2,sha256,drbg_hash test=x509_crt_gen linux 407 bash mini_build_test.sh no-tls enable=eal,x509_crt_gen,ecdsa,curve_nistp256,sha256,drbg_hash test=x509_crt_gen 408 409 ### cert parse ####hitls_x509_verify.c:699 410 bash mini_build_test.sh no-tls enable=eal,x509_crt_parse,sal_file,pem,rsa,sha256,drbg_hash test=x509_crt_parse linux 411 bash mini_build_test.sh no-tls enable=eal,x509_crt_parse,sal_file,ed25519,drbg_hash test=x509_crt_parse linux 412 bash mini_build_test.sh no-tls enable=eal,x509_crt_parse,sal_file,sm2,sha256,drbg_hash test=x509_crt_parse linux 413 bash mini_build_test.sh no-tls enable=eal,x509_crt_parse,sal_file,pem,ecdsa,curve_nistp256,curve_nistp384,sha256,drbg_hash test=x509_crt_parse linux 414 415 ### cert chain #### 416 bash mini_build_test.sh no-tls enable=eal,x509_vfy,sal_file,pem,rsa,ecdsa,curve_nistp256,curve_nistp384,ed25519,sm2,sha2,drbg_hash test=x509_vfy linux 417 418 ### pkcs12 gen #### 419 bash mini_build_test.sh no-tls enable=eal,pkcs12_gen,key_decode,sal_file,pem,rsa,ecdsa,curve_nistp256,ed25519,sm2,drbg_hash,cipher,modes,md,hmac test=pkcs12_gen linux 420 bash mini_build_test.sh no-tls enable=eal,pkcs12_parse,sal_file,pem,rsa,ecdsa,curve_nistp256,curve_nistp384,curve_nistp521,ed25519,sm2,cipher,modes,md,drbg_hash,hmac test=pkcs12_parse linux debug 421} 422 423parse_option 424 425case $TEST in 426 "all") 427 test_bsl 428 test_md 429 test_mac 430 test_kdf 431 test_cipher 432 test_bn 433 test_ecc 434 test_pkey 435 test_tls 436 ;; 437 "bsl") 438 test_bsl 439 ;; 440 "md") 441 test_md 442 ;; 443 "mac") 444 test_mac 445 ;; 446 "kdf") 447 test_kdf 448 ;; 449 "cipher") 450 test_cipher 451 ;; 452 "bn") 453 test_bn 454 ;; 455 "ecc") 456 test_ecc 457 ;; 458 "pkey") 459 test_pkey 460 ;; 461 "pki") 462 test_pki 463 ;; 464 "tls") 465 test_tls 466 ;; 467 *) 468 ;; 469esac 470