为了账号安全,请及时绑定邮箱和手机立即绑定

设置文件内容而不是信任库的路径

设置文件内容而不是信任库的路径

神不在的星期二 2021-04-08 15:10:44
我正在通过我的Java代码连接到oracle ssl侦听器。Java代码在AWS Lambda中运行。为了通过SSL端口连接到oracle,我需要通过cwallet.sso证书。该证书是base64编码的,并存储在Vault中。我可以从Vault中以String形式获取证书的内容。我需要对base64进行解码并使用其内容来连接到oracle。在我在本地计算机中用于连接到oracle ssl端口的代码下面。由于我从Vault中获取数据作为流,是否有一种方法可以提供证书(cwallet.sso),而无需创建文件?DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());                                                                                                 Security.addProvider(new oracle.security.pki.OraclePKIProvider());                                                                                                   String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=<hostname>)(PORT=1522))(CONNECT_DATA=(SID=<SID>)))";            java.util.Properties info = new java.util.Properties();                                                                                                              ClassLoader classLoader = getClass().getClassLoader();                                                                                                               info.setProperty("javax.net.ssl.trustStore", Paths.get(classLoader.getResource("certs/cwallet.sso").toURI()).toString());                                            info.setProperty("javax.net.ssl.trustStoreType", "SSO");                                                                                                             info.setProperty("user", "username");                                                                                                                              info.setProperty("password", "password");                                                                                                                             Connection conn = DriverManager.getConnection(url, info);                                                                                                            Statement stmt = conn.createStatement();                                                                                                                       
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

通常,可以从内存中加载证书,例如此处概述的,但是在当前上下文中,我们受到Oracle驱动程序支持的限制。

驱动器的配置是描述在这里,它看起来并不像什么,除了支持基于文件的信任存储。由于Oracle驱动程序是封闭源代码,因此很难提供更明确的答案。


查看完整回答
反对 回复 2021-04-14
  • 1 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信