it-swarm-id.com

Bagaimana cara mengimpor file Java keystore (.jks) yang ada ke dalam instalasi Java?

Jadi, saya mengalami masalah dengan LDAP. Saya memiliki kasus uji integrasi yang diharapkan akan berhasil, tetapi saat ini sedang mengalami masalah keamanan LDAPS dengan jabat tangan SSL.

Saya dapat terhubung ke LDAPS dengan Apache Directory Studio, dan itu telah mengunduh keystore ke file "permanen.jks".

Tidak apa-apa, tapi saya ingin tes integrasi saya, yang berada di Eclipse menggunakan JRE, untuk dapat terhubung ke server LDAP menggunakan keystore ini.

Bagaimana saya bisa mengambil keystore ini dan mengimpornya ke JRE untuk penggunaannya sendiri?

34
MetroidFan2002

Ok, jadi inilah proses saya:

keytool -list -v -keystore permanent.jks - dapatkan saya alias.

keytool -export -alias alias_name -file certificate_name -keystore permanent.jks - membuatkan saya sertifikat untuk diimpor.

Maka saya bisa mengimpornya dengan keytool:

keytool -import -alias alias_name -file certificate_name -keystore keystore location

Sebagai @Christian Bongiorno mengatakan alias tidak bisa ada di keystore Anda.

42
MetroidFan2002

Anda dapat mengimpor secara massal semua alias dari satu ke yang lain:

keytool -importkeystore -srckeystore source.jks -destkeystore dest.jks
27
qwertzguy

untuk memuat KeyStore, Anda harus memberi tahu jenis keystore itu (mungkin jceks), memberikan inputstream, dan kata sandi. lalu, Anda dapat memuatnya seperti ini:

KeyStore ks  = KeyStore.getInstance(TYPE_OF_KEYSTORE);
ks.load(new FileInputStream(PATH_TO_KEYSTORE), PASSWORD);

ini bisa melempar KeyStoreException, sehingga Anda bisa mengelilinginya di blok coba jika Anda suka, atau melemparkan kembali. Ingatlah bahwa keystore dapat berisi beberapa kunci, jadi Anda harus mencari kunci Anda dengan alias, berikut ini adalah contoh dengan kunci simetris:

SecretKeyEntry entry = (KeyStore.SecretKeyEntry)ks.getEntry(SOME_ALIAS,new KeyStore.PasswordProtection(SOME_PASSWORD));
SecretKey someKey = entry.getSecretKey();
26
Paul Sanwald