java.security.InvalidAlgorithmParameterException: параметр trustAnchors должен быть непустым в Linux, или почему хранилище доверенных сертификатов по умолчанию пусто [дубликат]

На этот вопрос уже есть ответ здесь:

При поиске этого исключения в Google: java.security.InvalidAlgorithmParameterException: параметр trustAnchors должен быть непустым , появится несколько результатов. Однако окончательного решения нет, только догадки.

Проблема возникает (по крайней мере, в моем случае), когда я пытаюсь использовать открытое соединение через SSL. Он отлично работает на моем компьютере с Windows, но когда я развертываю его на компьютере с Linux (с установленным sun jre), он не работает с указанным выше исключением.

Проблема в том, что хранилище доверенных сертификатов JRE по умолчанию по какой-то причине пусто (размер всего 32 байта, тогда как в Windows это 80 КБ).

Когда я скопировал свой файл jre / lib / security / cacerts из Windows в Linux, он работал нормально.

Вопрос в том, почему в Linux jre пустое хранилище доверенных сертификатов?

Обратите внимание, что это происходит в экземпляре Amazon EC2 с AMI linux, поэтому это может быть связано с некоторыми политиками Amazon (я думаю, что java была предварительно установлена, но я не уверен)

74
задан Bozho 21 January 2011 в 22:44
поделиться