#java #jce
#java #jce
Вопрос:
Эта ошибка возникает при запуске следующей программы
import java.security.SecureRandom;
import java.util.Random;
public class IBMSecureRandom1
{
public static void main(String[] args) {
try {
// get a real random generator
SecureRandom reallyRandom = SecureRandom.getInstance("IBMSecureRandom","IBMJCECCA");
System.out.print("Some really random numbers: ");
for (int i = 0; i < 3; i ) {
System.out.print(reallyRandom.nextInt() " ");
}
System.out.println();
// make a pseudo random generator seeded by the real random generator
Random pseudoRandom = new Random(reallyRandom.nextLong());
System.out.print("Some pseudo random numbers: ");
for (int i = 0; i < 3; i ) {
System.out.print(pseudoRandom.nextInt() " ");
}
System.out.println();
}
catch (Exception e) {
System.err.println("Something went wrong ...");
e.printStackTrace();
}
}
}
Я не знаю, нужно ли мне добавлять какой-либо файл jar или что-то еще
Комментарии:
1. Почему вы хотите использовать IBMJCECCA? Вы действительно используете z / OS и IBM JDK в первую очередь?
2. нет, я не использую z / OS
3. Это не беспокоит провайдера IBMJCECCA и
IBMSecureRandom
реализацию, просто используйте то, что доступно в JCE provider .4. да, но все равно появляется ошибка, нужно ли мне добавлять какой-либо jar-файл??
5. Пожалуйста, просто используйте
new SecureRandom()
, если вы не понимаете, какие строки следует указывать в качестве имени алгоритма и имени поставщика.
Ответ №1:
От :http://www-03.ibm.com/systems/z/os/zos/tools/java/faq/javasecurityfaq.html
Вы увидите эту ошибку, когда приложение выдает Service.getInstance(algorithm,provider)
, а указанный поставщик не установлен в JVM. Инструкции по установке, приведенные в Как мне установить поставщика IBMJCECCA? может использоваться для установки любого поставщика, если вы знаете имя пакета и класса.
Комментарии:
1. Но сначала OP нужно будет откуда-то получить IBMJCECCA.