מבוא למפתח keytool

ג'אווה טופ

רק הכרזתי על החדש למד אביב קורס, המתמקד ביסודות האביב 5 ומגף האביב 2:

>> בדוק את הקורס

1. סקירה כללית

במדריך קצר זה, אנו מתכוונים להציג את כלי מפתחות פקודה. נלמד כיצד להשתמש כלי מפתחות כדי ליצור אישור חדש ולבדוק את המידע עבור אישור זה.

2. מה זה כלי keytool?

Java כוללת את כלי מפתחות השירות במהדורותיו. אנחנו משתמשים בזה כדי לנהל מפתחות ותעודות ולאחסן אותם בחנות מפתחות. ה כלי מפתחות הפקודה מאפשרת לנו ליצור אישורים בחתימה עצמית ולהראות מידע על מאגר המפתחות.

בסעיפים הבאים נעבור על פונקציות שונות של כלי עזר זה.

3. יצירת תעודה בחתימה עצמית

ראשית, בואו ניצור אישור בחתימה עצמית שיכול לשמש ליצירת תקשורת מאובטחת בין פרויקטים בסביבת הפיתוח שלנו, למשל.

כדי ליצור את האישור, אנו הולכים לפתוח שורת פקודה ולהשתמש בה כלי מפתחות פקודה עם -גנרקאייר אוֹפְּצִיָה:

keytool -genkeypair -alias -keypass -validity -storepass 

בואו ללמוד עוד על כל אחד מהפרמטרים הבאים:

  • כינוי - שם האישור שלנו
  • מקש - סיסמת האישור. נצטרך סיסמה זו כדי לקבל גישה למפתח הפרטי של האישור שלנו
  • תוֹקֶף - זמן (בימים) לתוקף האישור שלנו
  • חלון ראווה - הסיסמה למאגר המפתחות. זו תהיה הסיסמה של מאגר המפתחות אם החנות לא קיימת

לדוגמה, בואו ניצור אישור בשם "Cert1" שיש לו מפתח פרטי של "Pass123" ותקף לשנה אחת. אנו גם נפרט “Stpass123” כסיסמת מאגר המפתחות:

keytool -genkeypair -alias cert1 -keypass pass123-validity 365 -storepass stpass123

לאחר ביצוע הפקודה, הוא יבקש מידע שנצטרך לספק:

מה שם פרטי ושם המשפחה שלך? [לא ידוע]: שם מה שם היחידה הארגונית שלך? [לא ידוע]: יחידה מה שם הארגון שלך? [לא ידוע]: חברה מה שם העיר או היישוב שלך? [לא ידוע]: עיר מה שם המדינה או המחוז שלך? [לא ידוע]: ציין מהו קוד המדינה בן שתי האותיות עבור יחידה זו? [לא ידוע]: ארה"ב האם CN = שם, OU = יחידה, O = חברה, L = עיר, ST = מדינה, C = ארה"ב נכונה? [לא כן

כאמור, אם לא יצרנו את חנות המפתח קודם, יצירת אישור זה תיצור אותה באופן אוטומטי.

אנחנו יכולים גם לבצע את -גנרקאייר אפשרות ללא פרמטרים. אם לא נספק אותם בשורת הפקודה והם חובה, נתבקש אליהם.

שים לב שבדרך כלל מומלץ לא לספק את הסיסמאות (-קופאס אוֹ מעבר סטור) בשורת הפקודה בסביבות ייצור.

4. רישום אישורים בקיסטור

לאחר מכן, אנו נלמד כיצד צפו בתעודות המאוחסנים בחנות המפתח שלנו. לשם כך נשתמש ב- -רשימה אוֹפְּצִיָה:

keytool -list -storepass 

הפלט עבור הפקודה שבוצעה יציג את האישור שיצרנו:

סוג חנות מפתחות: JKS ספק מפתחות חנות: SUN חנות המפתחות שלך מכילה ערך אחד 1, 02 לפני 2020, PrivateKeyEntry, טביעת אצבע תעודה (SHA1): 0B: 3F: 98: 2E: A4: F7: 33: 6E: C4: 2E: 29 : 72: A7: 17: E0: F5: 22: 45: 08: 2F

אם אנחנו רוצים להשיג את מידע לתעודה קונקרטית, אנחנו רק צריכים לכלול את -כינוי אפשרות לפקודה שלנו. כדי לקבל מידע נוסף מאשר המסופק כברירת מחדל, נוסיף גם את ה- -v אפשרות (מילולית):

keytool -list -v -alias -storepass 

זה יספק לנו את כל המידע הקשור לתעודה המבוקשת:

שם כינוי: cert1 תאריך יצירה: 02-ago-2020 סוג כניסה: PrivateKeyEntry אורך שרשרת האישורים: 1 תעודה [1]: בעלים: CN = שם, OU = יחידה, O = חברה, L = עיר, ST = מדינה, C = מנפיק ארה"ב: CN = שם, OU = יחידה, O = חברה, L = עיר, ST = מדינה, C = מספר סידורי ארה"ב: 11d34890 תקף החל מיום: א 'באוגוסט 02 20:25:14 CEST 2020 עד: יום שני 02 באוגוסט 20: 25:14 CEST 2021 טביעות אצבע תעודה: MD5: 16: F8: 9B: DF: 2C: 2F: 31: F0: 85: 9C: 70: C3: 56: 66: 59: 46 SHA1: 0B: 3F: 98: 2E : A4: F7: 33: 6E: C4: 2E: 29: 72: A7: 17: E0: F5: 22: 45: 08: 2F SHA256: 8C: B0: 39: 9F: A4: 43: E2: D1: 57: 4A: 6A: 97: E9: B1: 51: 38: 82: 0F: 07: F6: 9E: CE: A9: AB: 2E: 92: 52: 7A: 7E: 98: 2D: CA שם אלגוריתם חתימה : SHA256withDSA אלגוריתם מפתח ציבורי בנושא: מפתח DSA 2048 סיביות גרסה: 3 הרחבות: # 1: ObjectId: 2.5.29.14 קריטיות = שקר SubjectKeyIdentifier [KeyIdentifier [0000: A1 3E DD 9A FB C0 9F 5D B5 BE 2E EC E2 87 CD 45 .> .....] ....... E 0010: FE 0B D7 55 ... U]]

5. תכונות אחרות

מלבד הפונקציות שכבר ראינו, קיימות תכונות נוספות רבות בכלי זה.

למשל, אנחנו יכולים למחוק את האישור יצרנו מחנות המפתחות:

keytool-מחק -alias -storepass 

דוגמא נוספת היא שאפילו נצליח לשנות את הכינוי של האישור:

keytool -changealias -alias -destalias -keypass -storepass 

לבסוף, כדי לקבל מידע נוסף על הכלי, נוכל לעשות זאת לבקש עזרה דרך שורת הפקודה:

keytool - עזרה

6. מסקנה

במדריך המהיר הזה למדנו קצת על ה- כלי מפתחות תוֹעֶלֶת. למדנו גם להשתמש בכמה תכונות בסיסיות הכלולות בכלי זה.

תחתית Java

רק הכרזתי על החדש למד אביב קורס, המתמקד ביסודות האביב 5 ומגף האביב 2:

>> בדוק את הקורס