У меня есть более полный ответ, но без доступа к источнику шифрования Apple, мы никогда не будем полностью уверены, какие разрешения требуются на всех их платформах. Вот что я смог получить, работая на снежного барса:
Вам необходимо предоставить любой кодовой базе, которой требуется шифрование, следующие разрешения:
великая база кодов "ваш / код / база" {
разрешение java.lang.RuntimePermission "loadLibrary.keychain";
разрешение java.io.FilePermission "/ Система / Библиотека / Java / Расширения / -", "Чтение";
разрешение java.io.FilePermission "/ Библиотека / Java / Расширения / -", "Чтение";
разрешение java.io.FilePermission "/System/Library/Frameworks/JavaVM.framework/-", "читать";
};
Похоже, что существует какой-то поиск файла libkeychain.jnilib, который посещает первые два местоположения, прежде чем найти его в каталоге Frameworks в OSX 10.6.2 для Java 1.6. Другие версии java и другие версии ОС могут иметь дополнительные или разные пути поиска, поэтому единственный способ решить эту проблему для каждой платформы - это попытаться, просмотреть исключение разрешения безопасности, предоставить разрешение файла, а затем повторить попытку, пока он не заработает. Fun.
Одно важное предостережение: если вы попытаетесь загрузить библиотеку шифрования в один загрузчик классов, который не является частью этой кодовой базы, то попробуйте снова загрузить ее в другой загрузчик классов, который является частью кодовой базы, тогда вы получите уже «нативную библиотеку». загружен в другой загрузчик классов "исключение.