Невозможно сохранить ключ TDEA в хранилище ключей
Я пытаюсь сохранить свой ключ TDES после его генерации. Но каким-то образом я получил ошибку, которая написала просто "ноль", даже не NullPointerException. Так что я не совсем уверен, что с ним не так, потому что этот ключ хранилища в части кода хранилища ключей отлично работает на AES и RSA.
Любой, кто может помочь мне в этом, был бы признателен.:п
Код
public class TDEA {
private static KeyGenerator kg;
private static SecretKey key;
private static KeyStore ks;
private static IvParameterSpec iv;
private static String CryptMode = "DESede";
private static String keyStore_Location;
private static String keyStore_Pw;
public TDEA(String keystore_Loc, String keystore_PW) {
try {
// start security world and load key
ks = KeyStore.getInstance("JKS");
// load old keystore if there is one
FileOutputStream out;
kg = KeyGenerator.getInstance(CryptMode);
kg.init(168);
key = kg.generateKey();
ks.load(null, keyStore_Pw.toCharArray());
ks.setKeyEntry("Key", key, keyStore_Pw.toCharArray(), null);
out = new FileOutputStream(keyStore_Location + "TDES.dat");
ks.store(out, keyStore_Pw.toCharArray());
out.close();
System.out.println("TDES Keystore generated");
} catch (Exception e) {
System.out.println("Error occurred while initializing TDEA: " + e.getMessage() + ", FullStack: "
+ new Gson().toJson(e.getStackTrace()));
}
iv = new IvParameterSpec(new byte[8]);
}
public static void main(String[] args) throws IOException {
TDEA obj = new TDEA("/", "");
}
}
Трассировки стека
Error occurred while initializing TDEA: null, FullStack: [{"declaringClass":"com.model.TDEA","methodName":"\u003cinit\u003e","fileName":"TDEA.java","lineNumber":33},{"declaringClass":"com.model.TDEA","methodName":"main","fileName":"TDEA.java","lineNumber":51}]