@@ -26,8 +26,6 @@ echo "Current directory: $(pwd)"
2626echo " Source directory: ${srcdir} "
2727echo " Output directory: ${outdir} "
2828
29- mkdir -p ${outdir}
30-
3129# List of directories to search
3230SOFTHSM_SEARCH_PATHS=(
3331 " /opt/homebrew"
@@ -77,6 +75,13 @@ TEMP_LD_LIBRARY_PATH=${LD_LIBRARY_PATH}
7775
7876OPENSSL_VERSION=$( ./openssl_version | cut -d ' ' -f 2)
7977
78+ # Skip if SoftHSM requires ECDSA_SIG_get0 but current libcrypto doesn't provide it (no-ec build)
79+ if nm -D " ${MODULE} " 2> /dev/null | grep -q ' U ECDSA_SIG_get0' && \
80+ ! " ${OPENSSL} " list -public-key-algorithms 2> /dev/null | grep -qi ' \bec\b' ; then
81+ echo " Skipping test: SoftHSM requires EC support, but OpenSSL was built without EC."
82+ exit 77
83+ fi
84+
8085# Restore settings
8186export LD_LIBRARY_PATH=${TEMP_LD_LIBRARY_PATH}
8287
107112 SHARED_EXT=.so
108113fi
109114
115+ mkdir -p ${outdir}
110116
111117sed -e " s|@MODULE_PATH@|${MODULE} |g" -e \
112118 " s|@ENGINE_PATH@|../src/.libs/pkcs11${SHARED_EXT} |g" \
@@ -152,6 +158,7 @@ init_db() {
152158 # Exit if no tool was found
153159 if [[ -z " ${SOFTHSM_TOOL} " ]]; then
154160 echo " Skipping test: No softhsm or softhsm2-util tool found in expected locations."
161+ rm -rf " $outdir "
155162 exit 77
156163 fi
157164
@@ -282,10 +289,17 @@ list_objects () {
282289 echo " ***************************************"
283290 echo " * Listing objects on the token ${token_label} "
284291 echo " ***************************************"
285- pkcs11-tool --login --pin ${PIN} --module ${MODULE} \
286- --token-label " ${token_label} " --list-objects
287- if [[ $? -ne 0 ]]; then
288- exit 1
289- fi
292+
293+ # Ensure pkcs11-tool runs with the original library path
294+ export LD_LIBRARY_PATH=" ${TEMP_LD_LIBRARY_PATH} "
295+
296+ pkcs11-tool --login --pin " ${PIN} " --module " ${MODULE} " \
297+ --token-label " ${token_label} " --list-objects || exit 1
298+
290299 echo " ***************************************"
291300}
301+
302+ # Cleanup test environment
303+ cleanup () {
304+ export LD_LIBRARY_PATH=" ${TEMP_LD_LIBRARY_PATH} "
305+ }
0 commit comments