Bug ID | 1207484 |
---|---|
Summary | openssl-3: regression regarding certificate path availability |
Classification | openSUSE |
Product | openSUSE Tumbleweed |
Version | Current |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Security |
Assignee | pmonrealgonzalez@suse.com |
Reporter | amajer@suse.com |
QA Contact | security-team@suse.de |
CC | jsikes@suse.com, meissner@suse.com |
Found By | --- |
Blocker | --- |
While testing why nodejs18 unit tests were failing in openssl-1_1 vs. openssl-3, I found that the errors are a result of unavailable directory /var/lib/ca-certificates/openssl If this directory does not exist, many unit tests are failing with errors similar to 'Error: error:16000069:STORE routines::unregistered scheme' ~/rpmbuild/BUILD/node-v18.13.0> ./node18 test/sequential/test-tls-connect.js node:assert:750 throw err; ^ AssertionError [ERR_ASSERTION]: The input did not match the regular expression /no cipher match/i. Input: 'Error: error:16000069:STORE routines::unregistered scheme' at Object.<anonymous> (/home/abuild/rpmbuild/BUILD/node-v18.13.0/test/sequential/test-tls-connect.js:53:10) at Module._compile (node:internal/modules/cjs/loader:1218:14) at Module._extensions..js (node:internal/modules/cjs/loader:1272:10) at Module.load (node:internal/modules/cjs/loader:1081:32) at Module._load (node:internal/modules/cjs/loader:922:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:23:47 { generatedMessage: true, code: 'ERR_ASSERTION', actual: Error: error:16000069:STORE routines::unregistered scheme at configSecureContext (node:internal/tls/secure-context:230:11) at Object.createSecureContext (node:_tls_common:117:3) at Object.connect (node:_tls_wrap:1636:48) at /home/abuild/rpmbuild/BUILD/node-v18.13.0/test/sequential/test-tls-connect.js:54:9 at getActual (node:assert:757:5) at Function.throws (node:assert:903:24) at Object.<anonymous> (/home/abuild/rpmbuild/BUILD/node-v18.13.0/test/sequential/test-tls-connect.js:53:10) at Module._compile (node:internal/modules/cjs/loader:1218:14) at Module._extensions..js (node:internal/modules/cjs/loader:1272:10) at Module.load (node:internal/modules/cjs/loader:1081:32) { opensslErrorStack: [ 'error:0A0000B9:SSL routines::no cipher match', 'error:80000002:system library::No such file or directory' ], library: 'STORE routines', reason: 'unregistered scheme', code: 'ERR_OSSL_OSSL_STORE_UNREGISTERED_SCHEME' }, expected: /no cipher match/i, operator: 'throws' } Node.js v18.13.0 If I simply create this directory, the unit tests pass as openssl-3 doesn't generate errors. One possible solution is to ship empty directory in the main library package. Alternative is to track down why OpenSSL is throwing these weird errors when this path is simply missing.