Getting this error with SQL tools when connecting to IRIS 2025.1.1 via https. The customer I'm working with has an internal CA and its root/chain is in my trusted root certificate store. The ObjectScript extension doesn't appear to complain about it when using https for my server configurations, with or without NODE_TLS_REJECT_UNAUTHORIZED = 0 set in the environment.
From the SQL Tools error log:
Error t [RequestError]: Error: unable to verify the first certificate
at new t (c:\Users\Jeff.vscode\extensions\intersystems-community.sqltools-intersystems-driver-0.1.7\dist\ls\plugin.js:2:405571)
at U.callback (c:\Users\Jeff.vscode\extensions\intersystems-community.sqltools-intersystems-driver-0.1.7\dist\ls\plugin.js:2:407384)
at e.callback.t.callback [as _callback] (c:\Users\Jeff.vscode\extensions\intersystems-community.sqltools-intersystems-driver-0.1.7\dist\ls\plugin.js:2:406830)
at t._callback.t.callback.t.callback (c:\Users\Jeff.vscode\extensions\intersystems-community.sqltools-intersystems-driver-0.1.7\dist\ls\plugin.js:2:430662)
at U.emit (node:events:518:28)
at U.onRequestError (c:\Users\Jeff.vscode\extensions\intersystems-community.sqltools-intersystems-driver-0.1.7\dist\ls\plugin.js:2:439522)
at ClientRequest.emit (node:events:518:28)
at emitErrorEvent (node:_http_client:104:11)
at TLSSocket.socketErrorListener (node:_http_client:518:5)
at TLSSocket.emit (node:events:518:28)
at emitErrorNT (node:internal/streams/destroy:170:8)
at emitErrorCloseNT (node:internal/streams/destroy:129:3)
at process.processTicksAndRejections (node:internal/process/task_queues:90:21) {
cause: Error: unable to verify the first certificate
at TLSSocket.onConnectSecure (node:_tls_wrap:1679:34)
at TLSSocket.emit (node:events:518:28)
at TLSSocket._finishInit (node:_tls_wrap:1078:8)
at ssl.onhandshakedone (node:_tls_wrap:864:12) {
code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
A similar issue has been reported on GitHub, and I added the relevant stuff from above as a comment; the issue has been open since May and he developer hasn't responded. Just wondering if anyone else has experienced this and found a solution.
The Matches() method in the DTL and Routing Rule function list does not use regex syntax; it uses COS "?" pattern matching. The pattern you'd need for your specific example is "1A2N" for 1 alpha character followed by 2 digits.
There's also a ..RegexMatch() method for the DTL and Routing Rule editors in most modern versions of IRIS. That accepts most pcre regex patterns.










On Ubuntu, check your /etc/apache2/apache2.conf file and verify that the csp Directory stanza contains a CSPFileTypes line with all of the required file extensions needed:
<Directory "/opt/webgateway/csp"> CSPFileTypes csp cls zen cxw png jpg css gif svg js AllowOverride None Options MultiViews FollowSymLinks ExecCGI Require all granted <FilesMatch "\.(log|ini|pid|exe)$"> Require all denied </FilesMatch> </Directory>