VS Code Oracle 开发工具 - TLS 握手失败

问题描述 投票:0回答:1

我的公司使用 Jumpbox 来访问 Oracle 数据库。我已经在 VS code 中安装了 SSH-Remote 扩展,并且可以连接到 Jumpbox。

在跳转盒上,我可以启动一个终端窗口并输入“sqlplus user@tnsname”,然后输入我的密码,我就可以连接到数据库。

我已经安装了Oracle Developer Tools扩展并配置了tns文件路径。一切似乎都正确解析,但是当我通过选择“测试”来测试数据库连接时,UI 报告: TLS 握手失败

我假设我需要在 VS Code 中进行一些额外的配置,但我不知道从哪里开始。

经过更多分析,根本问题似乎是: IO 错误 PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

VS Code 是否进行了更严格的证书验证,或者证书存储配置是否有所不同?

visual-studio-code oracle-sqldeveloper vscode-remote
1个回答
0
投票

该扩展看起来仍然是通过 Java 运行的,因此它带有自己的 jdk(因此它有自己的 CACERTS)

C:\Users\<me>\.vscode\extensions\oracle.sql-developer-23.4.1-win32-x64\dbtools\jdk\lib\security\cacerts

只需使用 keytool 将 TLS 连接的签名根导入到上面的 cacerts 中

keytool -importcert -keystore C:\Users\<me>\.vscode\extensions\oracle.sql-developer-23.4.1-win32-x64\dbtools\jdk\lib\security\cacerts -storepass changeit -file .\hostroot.crt -alias 'db-tls-root'
© www.soinside.com 2019 - 2024. All rights reserved.