Skip to content

יצירת תעודת בדיקה בחתימה עצמית ל־localhost עם keytool

פרסום המקור: . תרגום ובדיקה טכנית: .

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

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

1. יוצרים זוג מפתחות ותעודת בדיקה

הפקודה הבאה כתובה בשורה אחת:

keytool -genkeypair -keyalg RSA -keysize 2048 -alias ssl -storetype PKCS12 -keystore localhost.p12 -validity 90 -dname "CN=localhost" -ext SAN=dns:localhost -ext KU:critical=keyEncipherment,digitalSignature -ext EKU=serverAuth

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

  • -genkeypair יוצר זוג מפתחות ותעודה בחתימה עצמית; כאן נבחר RSA בגודל 2048 סיביות.
  • -storetype PKCS12 קובע במפורש את פורמט המאגר. סיומת קובץ לבדה אינה קובעת את הפורמט; ב־JDK 9 ואילך ברירת המחדל היא PKCS12.
  • -validity 90 מגדיר תוקף של 90 ימים. זהו ערך לדוגמת ניסוי קצרה, לא כלל שמחליף את מדיניות התעודות שלכם.
  • SAN=dns:localhost מגדיר את שם השרת בתעודה. הוא אינו מוסיף אוטומטית שמות אחרים או כתובות IP.
  • KU ו־EKU מגדירים שימושי מפתח ושימוש מורחב, לרבות serverAuth. הם אינם מגדירים שרת TLS ואינם גורמים לתעודה להיות מהימנה.

2. מייצאים את התעודה הציבורית

keytool -exportcert -alias ssl -storetype PKCS12 -keystore localhost.p12 -rfc -file localhost.cer

הפקודה מייצאת את התעודה של הרשומה ssl לקובץ localhost.cer בקידוד טקסטואלי באמצעות -rfc. המפתח הפרטי אינו נכלל בייצוא הזה. אל תבלבלו בין קובץ התעודה הציבורית לבין קובץ המאגר .p12.

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

מקורות לבדיקה: Oracle keytool — תיעוד 1

איור שהופיע במאמר המקורי לא הועתק, מפני שהקישור אליו לא היה נגיש בעת הבדיקה.

Post a Comment

Previous Post Next Post