Я пытаюсь инициализировать экземпляр Mac, используя пустой ключ. Но это не с «InvalidKeyException».
Ниже приведен фрагмент кода, работающего с Oracle Java, но с исключением из IBM J9. , Может кто-нибудь помочь мне в решении проблемы?
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
открытый класс TestHM {
public static void main(String[] args) throws NoSuchAlgorithmException, InvalidKeyException {
String alg = "HmacSHA256";
Mac m = Mac.getInstance(alg);
SecretKeySpec secretKey = new SecretKeySpec(new byte[] {0}, 1, 0, alg);
m.init(secretKey);
System.out.println("End");
}
}
Текущий вывод: Исключение в потоке "main" java.security.InvalidKeyException: Отсутствуют ключевые данные в com.ibm.crypto.provider.HmacSHA256.engineInit (неизвестный источник) в javax.crypto.Mac.a (неизвестный источник) в javax.crypto .Mac.init (неизвестный источник) в TestHM.main (TestHM.java:18)
Java-версия: java -version java-версия "1.8.0" Java (TM) среда выполнения SE (сборка pap6480sr3fp10-20160720_02 (SR3fp10)) IBM J9 VM (сборка 2.8, JRE 1.8.0 AIX ppc64-64 Сжатые ссылки 20160719_312156 (JIT включен, AOT включен) J9VM - R28_Java8_SR3_20160719_1144_B312156 JIT - tr.r14.java_20160629_120284.01 GC - R28_Java8_SR3_20160719_1144_B312156_CMPRSS J9CL3 201011 201 * 2016 2016 19196 (20160) - 201607 на основе 201601919191919196