KeyStoreException Реализация JKS не найдена с использованием метода newTrustedTransport в приложении, отличном от Android

Я пишу небольшую программу, которая экспортирует данные из таблиц DB2 (DB2 for i) в Google Spreadsheet с помощью Google Spreadsheet API. Программа Java вызывается программой CL в среде IBM i.

Я запустил программу локально и работает нормально !!, но когда я попытался запустить ту же программу, которую вызывала программа 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 (собственный метод)
в java.lang.J9VMInternals.initialize (J9VMInternals.java:199)
Полная программа Java с código de salida 1

JVM IBM i - это версия 1.6, поэтому, возможно, это проблема версии, но я создал файл jar с помощью jdk 1.6. Я создал файл jar с помощью Gradle.

Отвечает ли это на ваш вопрос? Приложение StorageServiceAccountSample сообщает "Не найдена реализация KeyStore JKS"

Josh Correia 29.07.2020 19:26
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
1
1 430
1

Ответы 1

Когда вы говорите «запустить его локально», вы имеете в виду, что запускали его на своей рабочей станции ... или с помощью команды JAVA на IBM i?

Если вы запускали его со своей рабочей станции, у вас может быть запись в хранилище ключей, которой нет в IBM i java.

Вы также можете использовать более новую версию Java на i. Ознакомьтесь с http://www-01.ibm.com/support/docview.wss?uid=nas8N1011999, чтобы узнать, какие версии Java поддерживаются в IBM i.

Я запустил приложение на своей рабочей станции, но как я могу проверить запись в хранилище ключей в IBM i Java?

Jorge Burgos 16.05.2018 18:45

Как и при любой установке Java, используйте программу keytool. Вы можете запустить его в qshell или qp2term.

David G 18.05.2018 15:12

Другие вопросы по теме