2727 replace_default : [ true ]
2828
2929 libwolfprov-standalone :
30- # Standalone mode is disabled until we re-enable support for it in the debian build.
31- if : false
32-
3330 runs-on : ubuntu-22.04
3431 needs : build_wolfprovider
3532 # Run inside Debian Bookworm to match packaging environment
@@ -43,11 +40,12 @@ jobs:
4340 matrix :
4441 wolfssl_ref : [ 'v5.8.2-stable' ]
4542 openssl_ref : [ 'openssl-3.5.2' ]
46- replace_default : [ true ]
43+ replace_default : [ false ]
4744 env :
4845 WOLFSSL_PACKAGES_PATH : /tmp/wolfssl-packages
4946 OPENSSL_PACKAGES_PATH : /tmp/openssl-packages
5047 WOLFPROV_PACKAGES_PATH : /tmp/wolfprov-packages
48+ WOLFPROV_CONF_FILE : /etc/ssl/openssl.cnf.d/wolfprovider.conf
5149 steps :
5250 - name : Checkout wolfProvider
5351 uses : actions/checkout@v4
@@ -86,17 +84,16 @@ jobs:
8684
8785 - name : Test OpenSSL provider functionality
8886 run : |
89- PROVIDER_CONF="/usr/lib/ssl/openssl.cnf.d/wolfprovider.conf"
90- PROVIDER_CONF_BACKUP="/tmp/wolfprovider.conf.backup"
87+ WOLFPROV_CONF_BACKUP="/tmp/wolfprovider.conf.backup"
9188
9289 # Temporarily move wolfprovider config so we can toggle between providers
9390 echo "Temporarily disabling wolfprovider for default provider tests:"
9491 mkdir -p /tmp/openssl-test
95- if [ -f $PROVIDER_CONF ]; then
96- mv $PROVIDER_CONF $PROVIDER_CONF_BACKUP
97- 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 "
9895 else
99- echo "$PROVIDER_CONF not found!"
96+ echo "$WOLFPROV_CONF_FILE not found!"
10097 exit 1
10198 fi
10299
@@ -106,16 +103,36 @@ jobs:
106103
107104 # Restore wolfprovider configuration
108105 echo "Restoring wolfprovider configuration:"
109- if [ -f $PROVIDER_CONF_BACKUP ]; then
110- mv $PROVIDER_CONF_BACKUP $PROVIDER_CONF
111- 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 "
112109 fi
113110
114111 echo "PASS: All provider interoperability tests successful"
115112
116113 - name : Uninstall package and verify cleanup
117114 run : |
118115 # 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
119136 apt-get remove --purge -y libwolfprov
120137
121138 # Verify the package is removed
@@ -128,27 +145,24 @@ jobs:
128145 fi
129146
130147 # Check if the config file is removed
131- if [ -f /usr/lib/ssl/openssl.cnf.d/wolfprovider.conf ]; then
148+ if [ -f $WOLFPROV_CONF_FILE ]; then
132149 echo "wolfprovider.conf still exists after package removal"
133- ls -la /usr/lib/ssl/openssl.cnf.d/
150+ ls -la $(dirname $WOLFPROV_CONF_FILE)
134151 exit 1
135152 else
136153 echo "wolfprovider.conf successfully removed"
137154 fi
138155
139156 # Check if the library files are removed
140- if [ -f /usr/lib/*/ossl-modules/libwolfprov.so ]; then
157+ WOLFPROV_OBJS=$(find /usr/lib -name "libwolfprov.so*")
158+ if [ -n "$WOLFPROV_OBJS" ]; then
141159 echo "libwolfprov.so still exists after package removal"
142- find /usr/lib -name "libwolfprov.so*" 2>/dev/null || true
160+ echo "$WOLFPROV_OBJS"
143161 exit 1
144162 else
145163 echo "libwolfprov.so successfully removed"
146164 fi
147165
148- # Verify default OpenSSL provider is active
149- echo "Verifying Default Provider is Active:"
150- openssl list -providers
151-
152166 # Verify that the default provider is present and active
153167 echo "Checking default provider status:"
154168 if openssl list -providers | grep -q "default" && \
@@ -165,7 +179,7 @@ jobs:
165179 echo "Package uninstallation and cleanup verification successful"
166180
167181
168- libwolfprov-with-openssl :
182+ libwolfprov-replace-default :
169183 runs-on : ubuntu-22.04
170184 needs : build_wolfprovider
171185 # Run inside Debian Bookworm to match packaging environment
@@ -184,6 +198,7 @@ jobs:
184198 WOLFSSL_PACKAGES_PATH : /tmp/wolfssl-packages
185199 OPENSSL_PACKAGES_PATH : /tmp/openssl-packages
186200 WOLFPROV_PACKAGES_PATH : /tmp/wolfprov-packages
201+ WOLFPROV_CONF_FILE : /etc/ssl/openssl.cnf.d/wolfprovider.conf
187202 steps :
188203 - name : Checkout wolfProvider
189204 uses : actions/checkout@v4
@@ -254,17 +269,18 @@ jobs:
254269 echo "Verifying wolfprov configuration..."
255270
256271 # Check if configuration file exists
257- if [ -f /usr/lib/ssl/openssl.cnf.d/wolfprovider.conf ]; then
272+ if [ -f $WOLFPROV_CONF_FILE ]; then
258273 echo "SUCCESS: wolfprovider.conf exists"
259- cat /usr/lib/ssl/openssl.cnf.d/wolfprovider.conf
274+ cat $WOLFPROV_CONF_FILE
260275 else
261276 echo "WARNING: wolfprovider.conf not found"
262277 fi
263278
264279 # Check if library file exists
265- if [ -f /usr/lib/*/ossl-modules/libwolfprov.so ]; then
280+ WOLFPROV_OBJS=$(find /usr/lib -name "libwolfprov.so*")
281+ if [ -n "$WOLFPROV_OBJS" ]; then
266282 echo "SUCCESS: libwolfprov.so exists"
267- find /usr/lib -name "libwolfprov.so*" 2>/dev/null
283+ echo "$WOLFPROV_OBJS"
268284 else
269285 echo "WARNING: libwolfprov.so not found"
270286 fi
0 commit comments