【问题标题】:KeyStoreException JKS implementation not found using newTrustedTransport method in a not Android app [duplicate]在非 Android 应用程序中使用 newTrustedTransport 方法找不到 KeyStoreException JKS 实现 [重复]
【发布时间】:2018-05-15 22:29:17
【问题描述】:

我正在编写一个小程序,它使用 Google 电子表格 API 将数据从 DB2 表(DB2 for i)导出到 Google 电子表格。 Java 程序由 IBM i 环境中的 CL 程序调用。

我在本地运行程序并且工作正常!!,但是当我尝试运行 CL 程序正在调用的同一个程序时,执行此行时收到 KeyStoreException:

HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();

完整的例外是:

java.security.KeyStoreException:找不到 KeyStore JKS 实现
在 java.security.KeyStore.getInstance(KeyStore.java:101)
在 com.google.api.client.util.SecurityUtils.getJavaKeyStore(SecurityUtils.java:53)
在 com.google.api.client.googleapis.GoogleUtils.getCertificateTrustStore(GoogleUtils.java:74)
在 com.google.api.client.googleapis.javanet.GoogleNetHttpTransport.newTrustedTransport(GoogleNetHttpTransport.java:55) 在 prueba.Principal.(Principal.java:48)
在 java.lang.J9VMInternals.initializeImpl(Native Method)
在 java.lang.J9VMInternals.initialize(J9VMInternals.java:199)
Programa Java completado con código de salida 1

IBM i 的 JVM 是 1.6 版本,所以可能是版本问题,但我使用 jdk 1.6 构建了 jar 文件。 我使用 Gradle 构建了 jar 文件。

【问题讨论】:

标签: java ibm-midrange google-spreadsheet-api


【解决方案1】:

当您说“在本地运行”时,您是指在工作站上运行它……还是在 IBM i 上使用 JAVA 命令?

如果您从工作站运行它,您可能有一个 IBM i java 没有的密钥库条目。

您可能还想在 i 上使用更新版本的 Java。查看http://www-01.ibm.com/support/docview.wss?uid=nas8N1011999,了解有关 IBM i 支持哪些 Java 版本的信息。

【讨论】:

  • 我在我的工作站上运行了应用程序,但是如何验证 IBM i Java 中的密钥库条目?
  • 与任何 java 安装一样,使用 keytool 程序。你可以在 qshell 或 qp2term 中运行它。
猜你喜欢
  • 1970-01-01
  • 2013-09-22
  • 2020-03-26
  • 2016-04-25
  • 2013-12-27
  • 2020-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多