Что означает «параметр trustAnchors должен быть непустым»? - PullRequest
2 голосов
/ 10 марта 2012

Я пытаюсь использовать JetS3 для доступа к Amazon S3 в приложении, которое также использует Джерси с Grizzly (не уверен, актуально ли это).Моя среда разработки - Eclipse на OSX 10.7.3 с использованием JRE версии 1.7.0u.jdk.

Я читал, что это связано с невозможностью найти «хранилище ключей», что бы это ни было - но этоМне не нужно использовать какие-либо локальные ключи, я уже предоставляю им информацию аутентификации для S3 программно.

Я не знаю, является ли это проблемой с моим кодом или с моей средой разработки, можеткто-нибудь помочь?

edit : я добавил следующее в командной строке:

- Djavax.net.ssl.keyStore=/Library/Java/JavaVirtualMachines/1.7.0u.jdk/Contents/Home/jre/lib/security/cacerts

Этот файл существует, но я все еще вижу ту же ошибку: -(

1 Ответ

0 голосов
/ 12 апреля 2012

Пересечение файлового дерева Java и системы упаковки Apple снова поражает!

Я только что решил что-то похожее на это (я думаю, что наследие неудачного бета-обновления). Та же ошибка, по крайней мере. Ситуация, которую я обнаружил на моем диске, заключалась в том, что в моей установке JDK были символические ссылки вместо реальных файлов (включая cacerts):

> ls -lt /Library/Java/JavaVirtualMachines/1.6.0_30-b12-404.jdk/Contents/Home/lib/security/
total 24
lrwxr-xr-x  1 root  admin     79 Apr  7 15:11 blacklist -> /System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/security/blacklist
lrwxr-xr-x  1 root  admin     81 Apr  7 15:11 cacerts -> /System/Library/Java/Support/CoreDeploy.bundle/Contents/Home/lib/security/cacerts
lrwxr-xr-x  1 root  admin     87 Apr  7 15:11 trusted.libraries -> /System/Library/Java/Support/Deploy.bundle/Contents/Home/lib/security/trusted.libraries

К сожалению, связанных Deploy.bundles не существует.

В моем случае я смог вернуться в Time Machine, найти удаленные пакеты и восстановить их.

Возможно, у вас уже есть некоторые старые версии, на которые вы можете сослаться. По крайней мере, вы сможете посмотреть, есть ли у вас похожая проблема.

Извините, это не полное решение, но я надеюсь, что оно продвинет вас немного дальше.

Вы всегда можете просто получить дистрибутив от Oracle и вставить файлы сертификата на место, хотя, если в вашей установке отсутствуют другие элементы, могут возникнуть другие проблемы.

В Google я нашел этот блог: http://architecturalatrocities.com/post/19073788679/fixing-the-trustanchors-problem-when-running-openjdk-7

Проблема в том, что openjdk не включает файлы, и он рекомендует создать ссылку на файл Bundle, который мне пришлось восстановить в моем случае.

...