ฉันจะเข้าสู่ที่เก็บคีย์ Java แบบไม่ใช้รหัสผ่านหรือเปลี่ยนรหัสผ่านได้อย่างไร


121

ฉันกำลังพยายามนำเข้าใบรับรองที่เชื่อถือได้ไปยังที่เก็บคีย์ของJava cacertsแต่ฉันมีปัญหา ฉันพยายามแสดงรายการใบรับรองที่เชื่อถือได้ที่มีอยู่และดูเหมือนว่าที่เก็บคีย์จะไม่ได้รับการป้องกันด้วยรหัสผ่าน

$ 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

ฉันพยายามนำเข้าใบรับรองที่เชื่อถือได้:

$ 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

ฉันยังพยายามเปลี่ยนรหัสผ่านจาก "ไม่มี" เป็นบางอย่าง:

$ 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

คำตอบ:


206

ซึ่งหมายความว่าที่เก็บคีย์ cacerts ไม่ได้รับการป้องกันด้วยรหัสผ่าน

นั่นเป็นข้อสันนิษฐานที่ผิด หากคุณอ่านอย่างละเอียดมากขึ้นคุณจะพบว่ามีการให้รายชื่อโดยไม่ได้ตรวจสอบความสมบูรณ์ของที่เก็บคีย์เนื่องจากคุณไม่ได้ให้รหัสผ่าน รายชื่อไม่จำเป็นต้องใช้รหัสผ่าน แต่ที่เก็บคีย์ของคุณมีรหัสผ่านอย่างแน่นอนตามที่ระบุโดย:

ในการตรวจสอบความสมบูรณ์คุณต้องระบุรหัสผ่านที่เก็บคีย์ของคุณ

รหัสผ่าน cacerts เริ่มต้นของ Java คือ "changeit" เว้นแต่คุณจะใช้ Mac ซึ่งจะมีการ "changeme" ถึงจุดหนึ่ง เห็นได้ชัดว่าเป็นของ Mountain Lion (ตามความคิดเห็นและคำตอบอื่นที่นี่) รหัสผ่านสำหรับ Mac ตอนนี้ยังเป็น "changeit" ซึ่งอาจเป็นเพราะ Oracle กำลังจัดการการแจกจ่ายสำหรับ Mac JVM เช่นกัน


ขอบคุณ! ฉันคิดไม่ออกว่าทำไมรหัสผ่านถึงเป็น !!
— Jesse Barnum

2
ใช่แล้วขอบคุณ รหัสผ่านเริ่มต้นที่แย่มาก ฉันคิดไม่ออกว่ามันคืออะไร ฉันเพิ่งลบไฟล์ cacerts และแทนที่ด้วยไฟล์ของฉันเอง
— HeyWatchThis

3
ดังที่ datasmid ระบุไว้ด้านล่างรหัสผ่าน Mac หากคุณใช้งาน Mountain Lion ก็เป็น "changeit" เช่นกัน
— Niro

19
"รหัสผ่าน cacerts เริ่มต้นของ Java คือ" changeit "": +1000 ถ้าฉันทำได้! ขอบคุณ Stackoverflow!
— Neil Vass

55

รหัสผ่านของที่เก็บคีย์โดยค่าเริ่มต้นคือ: "changeit" ฉันทำตามคำสั่งของฉันที่คุณป้อนที่นี่สำหรับการนำเข้าใบรับรอง ฉันหวังว่าคุณจะแก้ปัญหาของคุณได้แล้ว



0

การเข้าสู่ที่เก็บคีย์ Java แบบไม่ใช้รหัสผ่านและการเปลี่ยนรหัสผ่านสามารถทำได้ด้วยความช่วยเหลือของภาษาโปรแกรม Java เอง

บทความนั้นมีรหัสสำหรับสิ่งนั้น:

thetechawesomeness.ideasmatter.info

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.