วิธีการสร้าง Keystore โดยอัตโนมัติโดยใช้เครื่องมือ Java Keystore ไม่มีการโต้ตอบกับผู้ใช้


92

ฉันกำลังพยายามสร้างที่เก็บคีย์โดยอัตโนมัติโดยใช้เครื่องมือที่เก็บคีย์ Java คำสั่งที่ฉันใช้คือ:

keytool -keystore keystore -alias jetty -genkey -keyalg RSA

แต่หลังจากคำสั่งนี้ผู้ใช้จะต้องป้อนอินพุตบางอย่างดังนี้:

Enter keystore password:  password
What is your first and last name?  
[Unknown]:  jetty.mortbay.org  
What is the name of your organizational unit?  
[Unknown]:  Jetty  
What is the name of your organization?  
[Unknown]:  Mort Bay Consulting Pty. Ltd.  
What is the name of your City or Locality?  
[Unknown]:  
What is the name of your State or Province?  
[Unknown]:  
What is the two-letter country code for this unit?  
[Unknown]:  
Is CN=jetty.mortbay.org, OU=Jetty, O=Mort Bay Consulting Pty. Ltd.,  
L=Unknown, ST=Unknown, C=Unknown correct?  
[no]:  yes  

Enter key password for <jetty>  
(RETURN if same as keystore password):  password  

แทนที่จะให้ผู้ใช้ป้อนค่าเหล่านี้จะมีวิธีใดในการระบุค่าเหล่านี้โดยไม่ต้องโต้ตอบกับผู้ใช้ทั้งภายในคำสั่งหรือผ่านสคริปต์

ขอบคุณ


ทำไมคุณไม่อ่านข้อมูลเหล่านี้จากไฟล์คุณสมบัติ?
Shamis Shukoor

มีตัวเลือกบรรทัดคำสั่งเพิ่มเติม - อ่านdocs.oracle.com/javase/7/docs/technotes/tools/windows/… (รวมชื่อเฉพาะ)
Jayan

7
เพียงเพราะตัวอย่างใช้ที่อยู่ในพื้นที่ไม่ได้หมายความว่าปัญหานี้ได้รับการแปลแล้ว ฉันไม่ได้อยู่ในสหราชอาณาจักรและเพิ่งมีคำถามเดียวกัน โชคดีที่มีบางคนตอบคำถามก่อนที่จะปิดจึงช่วยประหยัดเวลาในการหาคำตอบ
Trevor North

7
คำถามนี้มีประโยชน์มากและคำตอบช่วยได้ ไม่เข้าใจว่าทำไมถึงปิด
Jose Martinez

2
อีกตัวอย่างหนึ่งของทริกเกอร์ผู้ดูแล SO ที่มีความสุขพร้อมที่จะกระโดดปืนทันทีในการแจ้งให้ทราบล่วงหน้าเกี่ยวกับการปิดคำถามจริงที่เกี่ยวข้องและเป็นประโยชน์เพื่อให้พวกเขาสามารถใช้พลังเพียงเล็กน้อยที่พวกเขามีเพื่อทำให้ตัวเองรู้สึกสำคัญ นี่เป็นผลลัพธ์แรกเมื่อฉันค้นหาคำถามนี้ใน Google และมันช่วยฉันแก้ปัญหาของฉันได้ไม่น่าเชื่อว่าคำถามนี้ถูกปิดเพียงเพราะอ้างอิงสถานที่ของผู้ถามในคำถาม
Fam

คำตอบ:


167

ลองสิ่งนี้:

keytool -genkey -noprompt \
 -alias alias1 \
 -dname "CN=mqttserver.ibm.com, OU=ID, O=IBM, L=Hursley, S=Hants, C=GB" \
 -keystore keystore \
 -storepass password \
 -keypass password

1
มีวิธีระบุรหัสผ่านที่เก็บคีย์ต้นทางเมื่อนำเข้าที่เก็บคีย์. p12 ไปยัง. jks หรือไม่
Erik Kaplun

3
@ErikAllikkeytool -importkeystore [...] -srcstorepass password_here
Guillaume Boudreau

12

อย่าลืม -noprompt มิฉะนั้นคุณจะถูกขอให้ป้อน Yes หรือ No


1
หากมีคนอื่นมีปัญหาเดียวกันกับที่มีพร้อมต์แม้จะมีตัวเลือกนี้: มีบางคำสั่งที่มี -srckeypass และ -srcstorepass คุณสามารถผสมได้อย่างง่ายดาย
61

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