雪花 jdbc 中的 secretkeyfactory 不可用错误
Posted
技术标签:
【中文标题】雪花 jdbc 中的 secretkeyfactory 不可用错误【英文标题】:secretkeyfactory not available error in snowflake jdbc 【发布时间】:2021-12-10 10:50:08 【问题描述】:我正在使用 snowflake-jdbc 连接到雪花数据库
下面是图书馆
<!-- https://mvnrepository.com/artifact/net.snowflake/snowflake-jdbc -->
<dependency>
<groupId>net.snowflake</groupId>
<artifactId>snowflake-jdbc</artifactId>
<version>3.13.11</version>
</dependency>
驱动属性设置如下。
String url = "jdbc:snowflake://<account_identifier>.snowflakecomputing.com";
Properties prop = new Properties();
prop.put("user", "<user>");
props.put("private_key_file", "/tmp/rsa_key.p8");
props.put("private_key_file_pwd", "dummyPassword");
prop.put("db", "<database_name>");
prop.put("schema", "<schema_name>");
prop.put("warehouse", "<warehouse_name>");
prop.put("role", "<role_name>");
Connection conn = DriverManager.getConnection(url, prop);
Statement stat = conn.createStatement();
ResultSet res = stat.executeQuery("select 1");
res.next();
System.out.println(res.getString(1));
conn.close();
当我在本地 PC 上进行测试时,我能够建立连接,但是当我部署在 AWS ECS(docker) 上时,当我尝试建立连接时出现以下错误
提供的私钥无效或不支持 1.2.840.113549.1.5.13 secretkeyfactory not available 我检查了所有路径,确认指定路径中有private_key文件。
配置中是否缺少任何内容?
【问题讨论】:
【参考方案1】:使用密钥对身份验证进行身份验证时,使用 OpenSSL 1.1.1g 生成的私钥并通过 JDBC 驱动程序连接到 Snowflake,会出现 -Private-key-provided-is-invalid-or-not- 类型的错误看到supported-rsa-key-p8。本文旨在为这个问题提供解决方法
https://community.snowflake.com/s/article/Private-key-provided-is-invalid-or-not-supported-rsa-key-p8--data-isn-t-an-object-ID
【讨论】:
以上是关于雪花 jdbc 中的 secretkeyfactory 不可用错误的主要内容,如果未能解决你的问题,请参考以下文章