ฉันจะเข้าสู่ที่เก็บคีย์ 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.