Bir 'Storepass' sağlamadan bir KeyStore'dan bir anahtar almak mümkün olup olmadığını bilmem gerek. dokümantasyon here "anahtar deposundan bilgi alırken, şifre isteğe bağlıdır şifre verilmesi halinde, alınan bilgilerin bütünlüğü kontrol edilemez ve bir uyarı görüntülenir" söylüyorKeyStore şifre olmadan anahtarı alın
Ancak çalıştığımda Parola olmadan Anahtar olsun olsun "java.lang.IllegalArgumentException: parola null olamaz" özel durum.
ardından ben anahtar deposunu
keytool -genseckey -Alias "myKey" -keystore KEYSTORE.jks -storepass "parola" -storetype "JCEKS" -keyalg AES -keysize oluşturulan nasıl 128
Ve şu istisna atar
final KeyStore keyStore = KeyStore.getInstance("JCEKS");
keyStore.load(new FileInputStream(new File("C:\\temp\\keytool\\KEYSTORE.jks")),
null);
final Key key = keyStore.getKey("myKey", null);
şöyle geri almak için çalıştı
java.lang.IllegalArgumentException: password can't be null
at com.sun.crypto.provider.SunJCE_z.<init>(DashoA13*..)
at com.sun.crypto.provider.JceKeyStore.engineGetKey(DashoA13*..)
at java.security.KeyStore.getKey(KeyStore.java:763)
Belgeleri tamamen yanlış anlamış mıyım? Bu konuda başka bir yol var, çünkü 'mağaza geçişini' saklamak noktasını herkesin görebileceği kodumda net olarak göremiyorum, bu yüzden şifreyi işe yaramaz hale getiriyorum.
Evet için isteyecektir görünüyor ocumentation. Bunun için tavsiye edilen bir tavsiye var mı? Sadece kodda böyle bir şifre olamaz. Teşekkürler – Nishant
Yani, koddaki şifrelenmiş şifreyi önlemek için senin sorunun mu? Bu en yaygın problemdir. Bu konuda gerçekten fazla bir şey yapamazsın.Genel olarak önerilen yaklaşım, kullanıcıdan şifre istemektedir. ayrıntılı bir şey yapabildiğiniz gibi Şifreyi şifreleyin ama bu size pek bir şey getirmeyecektir. Ayrıca, dosya sistemini güvenli tutmak için kullanıcıya sorumluluğu da verebilirsiniz. – Cratylus