ฉันเข้าใจว่าที่เก็บคีย์มักจะถือกุญแจส่วนตัว / สาธารณะและที่เก็บที่เชื่อถือได้จะเป็นกุญแจสาธารณะเท่านั้น (และแสดงถึงรายการของบุคคลที่เชื่อถือได้ที่คุณต้องการสื่อสารด้วย) นั่นเป็นข้อสันนิษฐานแรกของฉันดังนั้นถ้ามันไม่ถูกต้องฉันอาจจะยังไม่เริ่มดี ...
ฉันสนใจแม้ว่าจะเข้าใจวิธี / เมื่อคุณแยกแยะร้านค้าเมื่อใช้ keytool
ดังนั้นฉันได้สร้างที่เก็บคีย์โดยใช้แล้ว
keytool -import -alias bob -file bob.crt -keystore keystore.ks
ซึ่งสร้างไฟล์ keystore.ks ของฉัน ฉันตอบyes
คำถามฉันเชื่อใจใน bob ได้หรือไม่ แต่ถ้าฉันสร้างไฟล์ที่เก็บคีย์หรือไฟล์ truststore ฉันสามารถตั้งค่าแอปพลิเคชันของฉันให้ใช้ไฟล์ได้เช่นกัน
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x
-Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x
และด้วยการSystem.setProperty( "javax.net.debug", "ssl")
ตั้งค่าฉันสามารถดูใบรับรองภายใต้การรับรองที่เชื่อถือได้ (แต่ไม่อยู่ในส่วนที่เก็บคีย์) ใบรับรองเฉพาะที่ฉันนำเข้ามีเพียงกุญแจสาธารณะและฉันตั้งใจจะใช้เพื่อส่งข้อมูลผ่านการเชื่อมต่อ SSL ไปยัง Bob (แต่อาจจะดีที่สุดสำหรับคำถามอื่น!)
พอยน์เตอร์หรือคำชี้แจงใด ๆ ที่จะได้รับการชื่นชมมาก เอาต์พุตของ keytool เหมือนกันทุกสิ่งที่คุณนำเข้าและแบบแผนเพียงอย่างเดียวที่บอกว่าอันหนึ่งเป็นที่เก็บคีย์และอีกอันหนึ่งเป็นที่เก็บความเชื่อถือ ความสัมพันธ์เมื่อใช้ SSL ฯลฯ คืออะไร?