Bagaimana cara masuk ke keystore Java yang tidak dilindungi kata sandi atau mengubah kata sandi?

121

Saya mencoba mengimpor sertifikat tepercaya ke keystore cacerts Java , tetapi saya punya masalah. Saya mencoba mencantumkan sertifikat tepercaya yang ada dan tampaknya keystore tidak dilindungi sandi.

$ keytool -list -keystore cacerts
Enter keystore password:

*****************  WARNING WARNING WARNING  *****************
* The integrity of the information stored in your keystore  *
* has NOT been verified!  In order to verify its integrity, *
* you must provide your keystore password.                  *
*****************  WARNING WARNING WARNING  *****************

Keystore type: JKS
Keystore provider: SUN

Your keystore contains 76 entries

Saya mencoba mengimpor sertifikat tepercaya:

$ keytool -importcert -alias "JiraCert" -file /root/c9ssl.crt -keystore /etc/java-6-sun/security/cacerts
Enter keystore password:  
Keystore password is too short - must be at least 6 characters
Enter keystore password:  
Keystore password is too short - must be at least 6 characters
Enter keystore password:  
Keystore password is too short - must be at least 6 characters
Too many failures - try later

Saya juga mencoba mengubah sandi dari "tidak ada" menjadi sesuatu:

$ keytool -storepasswd -keystore cacerts.back
Enter keystore password:
Keystore password is too short - must be at least 6 characters
Enter keystore password:
Keystore password is too short - must be at least 6 characters
Enter keystore password:
Keystore password is too short - must be at least 6 characters
Too many failures - try later
Eslam
sumber

Jawaban:

206

yang berarti keystore cacert tidak dilindungi sandi

Itu asumsi yang salah. Jika Anda membaca lebih teliti, Anda akan menemukan bahwa listingan diberikan tanpa memverifikasi integritas keystore karena Anda tidak memberikan sandinya. Cantuman tidak memerlukan kata sandi, tetapi keystore Anda pasti memiliki kata sandi, seperti yang ditunjukkan oleh:

Untuk memverifikasi integritasnya, Anda harus memberikan sandi keystore Anda.

Kata sandi cacerts default Java adalah "changeit", kecuali Anda menggunakan Mac, yang "mengubah" hingga titik tertentu. Rupanya pada Mountain Lion (berdasarkan komentar dan jawaban lain di sini), kata sandi untuk Mac sekarang juga "changeit", mungkin karena Oracle sekarang menangani distribusi untuk Mac JVM juga.

Ryan Stewart
sumber
Terima kasih! Saya tidak tahu mengapa kata sandinya !!
Jesse Barnum
2
Ya terima kasih. Sungguh sandi default yang buruk. Aku juga tidak tahu apa itu. Saya baru saja menghapus file cacerts dan menggantinya dengan milik saya.
HeyWatchThis
3
Seperti yang dikatakan oleh pusat data di bawah ini, kata sandi Mac jika Anda menjalankan Mountain Lion juga "changeit"
Niro
19
"Sandi cacerts default Java adalah" changeit "": +1000 jika saya bisa! Terima kasih Stackoverflow!
Neil Vass
55

Sandi keystore secara default adalah: "changeit". Saya berfungsi untuk perintah saya yang Anda masukkan di sini, untuk impor sertifikat. Saya harap Anda sudah memecahkan masalah Anda.

GeoKlar
sumber
4

Mac Mountain Lion memiliki kata sandi yang sama sekarang menggunakan Oracle.

bbaassssiiee
sumber
0

Masuk ke keystore Java yang tidak dilindungi kata sandi dan mengubah kata sandi dapat dilakukan dengan bantuan bahasa pemrograman Java itu sendiri.

Artikel itu berisi kode untuk itu:

thetechawesomeness.ideasmatter.info

Oleksii Kyslytsyn
sumber