4545 WOLFSSL_PACKAGES_PATH : /tmp/wolfssl-packages
4646 OPENSSL_PACKAGES_PATH : /tmp/openssl-packages
4747 WOLFPROV_PACKAGES_PATH : /tmp/wolfprov-packages
48+ WOLFPROV_CONF_FILE : /etc/ssl/openssl.cnf.d/wolfprovider.conf
4849 steps :
4950 - name : Checkout wolfProvider
5051 uses : actions/checkout@v4
@@ -83,17 +84,16 @@ jobs:
8384
8485 - name : Test OpenSSL provider functionality
8586 run : |
86- PROVIDER_CONF="/usr/lib/ssl/openssl.cnf.d/wolfprovider.conf"
87- PROVIDER_CONF_BACKUP="/tmp/wolfprovider.conf.backup"
87+ WOLFPROV_CONF_BACKUP="/tmp/wolfprovider.conf.backup"
8888
8989 # Temporarily move wolfprovider config so we can toggle between providers
9090 echo "Temporarily disabling wolfprovider for default provider tests:"
9191 mkdir -p /tmp/openssl-test
92- if [ -f $PROVIDER_CONF ]; then
93- mv $PROVIDER_CONF $PROVIDER_CONF_BACKUP
94- echo " - Moved $PROVIDER_CONF to $PROVIDER_CONF_BACKUP "
92+ if [ -f $WOLFPROV_CONF_FILE ]; then
93+ mv $WOLFPROV_CONF_FILE $WOLFPROV_CONF_BACKUP
94+ echo " - Moved $WOLFPROV_CONF_FILE to $WOLFPROV_CONF_BACKUP "
9595 else
96- echo "$PROVIDER_CONF not found!"
96+ echo "$WOLFPROV_CONF_FILE not found!"
9797 exit 1
9898 fi
9999
@@ -103,16 +103,36 @@ jobs:
103103
104104 # Restore wolfprovider configuration
105105 echo "Restoring wolfprovider configuration:"
106- if [ -f $PROVIDER_CONF_BACKUP ]; then
107- mv $PROVIDER_CONF_BACKUP $PROVIDER_CONF
108- echo " - Restored $PROVIDER_CONF from $PROVIDER_CONF_BACKUP "
106+ if [ -f $WOLFPROV_CONF_BACKUP ]; then
107+ mv $WOLFPROV_CONF_BACKUP $WOLFPROV_CONF_FILE
108+ echo " - Restored $WOLFPROV_CONF_FILE from $WOLFPROV_CONF_BACKUP "
109109 fi
110110
111111 echo "PASS: All provider interoperability tests successful"
112112
113113 - name : Uninstall package and verify cleanup
114114 run : |
115115 # Uninstall the package
116+ apt-get remove -y libwolfprov
117+
118+ # Verify default OpenSSL provider is active
119+ echo "Verifying Default Provider is Active:"
120+ openssl list -providers
121+
122+ # Verify that the default provider is present and active
123+ echo "Checking default provider status:"
124+ if openssl list -providers | grep -q "default" && \
125+ openssl list -providers | grep -q "OpenSSL Default Provider" && \
126+ openssl list -providers | grep -q "status: active"; then
127+ echo "Default provider is present and active"
128+ else
129+ echo "Default provider verification failed"
130+ echo "Provider output:"
131+ openssl list -providers
132+ exit 1
133+ fi
134+
135+ # Purge the package to remove all files
116136 apt-get remove --purge -y libwolfprov
117137
118138 # Verify the package is removed
@@ -125,27 +145,24 @@ jobs:
125145 fi
126146
127147 # Check if the config file is removed
128- if [ -f /usr/lib/ssl/openssl.cnf.d/wolfprovider.conf ]; then
148+ if [ -f $WOLFPROV_CONF_FILE ]; then
129149 echo "wolfprovider.conf still exists after package removal"
130- ls -la /usr/lib/ssl/openssl.cnf.d/
150+ ls -la $(dirname $WOLFPROV_CONF_FILE)
131151 exit 1
132152 else
133153 echo "wolfprovider.conf successfully removed"
134154 fi
135155
136156 # Check if the library files are removed
137- if [ -f /usr/lib/*/ossl-modules/libwolfprov.so ]; then
157+ WOLFPROV_OBJS=$(find /usr/lib -name "libwolfprov.so*")
158+ if [ -n "$WOLFPROV_OBJS" ]; then
138159 echo "libwolfprov.so still exists after package removal"
139- find /usr/lib -name "libwolfprov.so*" 2>/dev/null || true
160+ echo "$WOLFPROV_OBJS"
140161 exit 1
141162 else
142163 echo "libwolfprov.so successfully removed"
143164 fi
144165
145- # Verify default OpenSSL provider is active
146- echo "Verifying Default Provider is Active:"
147- openssl list -providers
148-
149166 # Verify that the default provider is present and active
150167 echo "Checking default provider status:"
151168 if openssl list -providers | grep -q "default" && \
@@ -181,6 +198,7 @@ jobs:
181198 WOLFSSL_PACKAGES_PATH : /tmp/wolfssl-packages
182199 OPENSSL_PACKAGES_PATH : /tmp/openssl-packages
183200 WOLFPROV_PACKAGES_PATH : /tmp/wolfprov-packages
201+ WOLFPROV_CONF_FILE : /etc/ssl/openssl.cnf.d/wolfprovider.conf
184202 steps :
185203 - name : Checkout wolfProvider
186204 uses : actions/checkout@v4
@@ -251,17 +269,18 @@ jobs:
251269 echo "Verifying wolfprov configuration..."
252270
253271 # Check if configuration file exists
254- if [ -f /usr/lib/ssl/openssl.cnf.d/wolfprovider.conf ]; then
272+ if [ -f $WOLFPROV_CONF_FILE ]; then
255273 echo "SUCCESS: wolfprovider.conf exists"
256- cat /usr/lib/ssl/openssl.cnf.d/wolfprovider.conf
274+ cat $WOLFPROV_CONF_FILE
257275 else
258276 echo "WARNING: wolfprovider.conf not found"
259277 fi
260278
261279 # Check if library file exists
262- if [ -f /usr/lib/*/ossl-modules/libwolfprov.so ]; then
280+ WOLFPROV_OBJS=$(find /usr/lib -name "libwolfprov.so*")
281+ if [ -n "$WOLFPROV_OBJS" ]; then
263282 echo "SUCCESS: libwolfprov.so exists"
264- find /usr/lib -name "libwolfprov.so*" 2>/dev/null
283+ echo "$WOLFPROV_OBJS"
265284 else
266285 echo "WARNING: libwolfprov.so not found"
267286 fi
0 commit comments