שְׁאֵלָה:
האם אוכל למחוק קבצי .csr לאחר שהמפתח נחתם על ידי CA
F. Hauri
2013-03-19 21:01:13 UTC
view on stackexchange narkive permalink

אני יוצר שרת openvpn משלי.

סמכות האישור ממוקמת על מארח מופרד.

יש שני סוגים של לקוחות: שהם פשוט שולחים .csr ואליהם אני שולח את .crt כתשובה ואת השני שאני בונה בעצמי.

במקרה השני, אני יוצר את .key ו- .csr באמצעות:

  openssl req -days 3652 - צמתים-חדש-keyout NewClient007.key -out NewClient007.csr  

מאשר האישור החתום מאת:

  openssl ca -days 3652 -out NewClient007.crt -ב NewClient007.csr  

אז, משם, אני אתקין את .key ו- .crt ללקוח החדש ואמחק .key מ CA.

אם אני מבין בצדק, ה- .crt עשוי להיות שימושי אם אני רוצה בטל את המפתח בעתיד (אך מועתק ל Id.pem , כאשר Id הוא מספר האינדקס).

סטטוס נוכחי, שבו קבצי ssl הם loca ted:

  שרת: ca.crt CA שרת האישורים הציבורי. שרת crt שרת אישורים ציבורי. שרת מפתח מפתח פרטי crl.pem CA חתום על רשימות ביטול dh1024.pem פרמטרים של Diffie-Hellman אישורי רשות: ca.key המפתח הפרטי של CA ca.crt תעודת האישור הציבורית של CA index.txt אינדקס של מפתחות חתומים המספר הסידורי של הערך הבא ב- index.txt index.txt.attr תכונות לקובץ אינדקס ClientXXXX.crt כל אישורי הלקוחות ClientXXXX.csr כל בקשות החתימה של הלקוחות YY.pem העתק אישורי לקוחות על פי מספר אינדקס לקוחות: ca.crt תעודה ציבורית של CA ClientXXXX.crt תעודת הלקוח ClientXXXX.key מפתח הלקוח  

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

אז אני חושב (אבל לא בטוח) יכולתי למחוק בשקט את כל ה ClientXXXX.csr ו- ClientXXXX.crt מ CA .... .. אז יש את השאלה שלי:

האם אוכל אי פעם לגשת שוב לקובץ .csr או האם אוכל למחוק אותם סופית?

שְׁלוֹשָׁה תשובות:
Bruno
2013-03-19 21:12:13 UTC
view on stackexchange narkive permalink

בקשת חתימת האישור (CSR) אינה מועילה לאחר שקיבלת את האישור שלך. זה רק אחד מכלי הרכב שניתן להשתמש בהם כדי לתת ל- CA את המפתח הציבורי שלך כחלק מתהליך הבקשה, כדי שיוכלו להנפיק תעודה.

כעת תוכל להשיג את המפתח הציבורי. בכל מקרה שוב מהאישור עצמו.

למעשה, בפורמט מסוים זה, תוכל להשיג את המפתח הציבורי מקובץ ה- .key :

  openssl rsa -in NewClient007.key -pubout  

למעשה, תוכל גם ליצור מחדש את ה- CSR באמצעות זה:

  openssl req -new -key NewClient007.key -out NewClient007.csr  

(שים לב שאתה לא צריך את האפשרות -day 3652 בעת יצירת את CSR, מכיוון של- CSR אין תאריכים שלא לפני / לא אחרי, בניגוד לתעודות X.509. זה שימושי רק אם ברצונך ליצור אישור במהלך שלב זה.)

הייתי עם זאת, מציע להשתמש ב- -newkey rsa: 2048 או -newkey rsa: 4096 במקום להסתמך על גודל המפתח המוגדר כברירת מחדל, שהוא לעיתים קרובות 1024 סיביות.

David George
2013-03-19 21:07:03 UTC
view on stackexchange narkive permalink

כן לאחר חתימת האישור אינך זקוק יותר לבקשת החתימה.

+1 ברוך הבא ב- sse! (אבל התשובה שלך היא משהו קליל;)
Thomas Pornin
2013-03-19 21:32:52 UTC
view on stackexchange narkive permalink

בדרך כלל אתה עושה דברים בסדר הזה:

  1. בשרת openvpn שלך, אתה יוצר את צמד המפתחות ואת בקשת האישור, עם ביקורת openssl .
  2. אתה מעביר את בקשת האישור (קובץ ".csr") ל- CA.
  3. CA מוציא את האישור (במקרה שלך עם openssl ca ) , מייצר את הקובץ ".crt".
  4. אתה מעביר את האישור חזרה לשרת openvpn.

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

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

עדיף שהמפתח הפרטי נוצר בשרת openvpn עצמו ולא ייצא לעולם שרת זה, כפי שהוסבר לעיל. יצירת המפתח במכונת ה- CA ואז הובלתו לשרת openvpn מעלה כמה בעיות: כיצד ניתן לוודא שלא יתמרו אחרי המפתח במהלך אותה העברה? כיצד תוודא שאף עותק של מפתח זה לא ישהה ​​בדיסק הקשיח של CA?

+1, תודה שהסברת שלב אחר שלב! (אני בונה רק מפתח לקוח ב- CA למקרה מיוחד שבו הלקוח הוא הטמעה דקה, שנבנה על ידי סקריפטים שלי על ידי אותו מארח CA מאובטח ... והדיסק של ה- CA מגובה במארח מרוחק, אך מוצפן.)


שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...