ייצור תעודות SSL יכול להיות משימה מסובכת, מלאה באכזבה ודאגה. אבל אין צורך שזה יהיה כך! אם יש לך Windows 10 ו־OpenSSL, בנוסף לעזרה קטנה מהמדריך הזה, תהיה בדרכך להצלחה.
במאמר זה, תלמד כיצד להתקין את OpenSSL ב־Windows 10. לאחר התקנה, תוכל ליצור תעודות SSL, לאתר ולתקן בעיות בתעודות, ולהמיר בין פורמטים.
בואו נתחיל לשלוט ב־OpenSSL ב־Windows 10 עם PowerShell!
קשור: ניהול תעודות עם מנהל התעודות של Windows ו־PowerShell
דרישות מוקדמות
במאמר זה, תלמד באמצעות גישה מעשית. בעוד ש־OpenSSL היא כלי שהיה בעבר כלי של מערכת ההפעלה Linux, תוכל להשתמש בו גם עם מערכת ההפעלה Windows.
- A Windows system with Local Administrator rights – The tutorial will be using Windows 10
- Windows PowerShell 5.1 (כלול ב־Windows) או PowerShell 7
- Chocolatey – מנהל חבילות עבור Windows מותקן.
- PowerShell ISE, Visual Studio Code או כל עורך טקסט אחר שתבחר.
כל התמונות במדריך זה צולמו מ־Windows 10 ב־build 1909 ו־PowerShell 7.
מתקין את OpenSSL ב־Windows 10 עם PowerShell ו־Chocolatey
בהנחה שהתקנת את Chocolatey באמצעות ה הוראות התקנה, המשימה הראשונה שלך היא להתקין את OpenSSL ב- Windows 10. כדי לעשות זאת, פתח את חלון הפקודות של PowerShell והרץ choco install OpenSSL.Light
כפי שמוצג למטה.

זהו! עכשיו התקנת את OpenSSL בעזרת PowerShell.
התקן ספריית עבודה
המדריך הזה יצור מספר תעודות ללמידה. כדי לוודא שכל העבודה שתעשה כאן תישמר בתיקייה יחידה שתוכל לנקות מאוחר יותר, המשך וצור אחת.
המדריך הזה ישמור על כל התעודות והקבצים הקשורים ב- קובץ C:\certs. ניתן ליצור תיקייה בעזרת PowerShell על ידי הרצת הפקודה למטה.
עכשיו עוד הגיע הזמן להגדיר את OpenSSL.
הגדרת OpenSSL
כברירת מחדל, OpenSSL ב- Windows 10 לא מגיע עם קובץ הגדרות. זה מתוכנן כך מראש מכיוון ש ישנם הרבה אפשרויות הגדרה שניתן להתאים אישית. לצורך המדריך הזה, תשתמש בהגדרות מדגם שניתן להתאים אישית מאוחר יותר כדי להתאים באופן הטוב ביותר לדרישות האבטחה שלך.
פתח את PowerShell והרץ את הפקודה למטה. הפקודה מורידה קובץ הגדרות מדגם מ-MIT ושומרת אותו כ- openssl.cnf בתיקיית העבודה הנוכחית.
עכשיו ניתן לפתוח את הקובץ openssl.cnf ותראה משהו שנראה כמו למטה.

ההגדרה שהורדה תעבוד כפי שהיא לעכשיו. אנא אל תשתמש בברירות המחדל בסביבת הפעולה שלך לייצור!
עדכן משתני סביבת פרופיל של PowerShell
כדי שהכל יתנהל בצורה חלקה, עליך לשנות את פרופיל ה-PowerShell שלך ב-Windows 10. קביעת משתני סביבה מאפשרת לך לעבוד בקלות עם גרסאות שונות של OpenSSL שאולי יהיו לך מותקנות.
I suggest adding two environment variables to your PowerShell profile called path
and OPENSSL_CONF
. You will update the PATH
environment variable to ensure you can run the openssl binary in any location while on the command line.
מתחת לך תראה איך ליצור פרופיל של PowerShell אם עדיין אין לך. הפקודה הזו מוסיפה את נתיב הבינארי של OpenSSL ל-PATH
שלך ומשהה לנתיב קובץ ההגדרות ל-OPENSSL_CONF
.
כדי להשתמש במשתני הסביבה, הפעל מחדש את הפרופיל שלך על ידי הקלדת . $profile
או סגור ופתח מחדש את PowerShell.
כעת תוכל לקרוא לבינארי openssl בקלות מכל מקום שבו תהיה ב-PowerShell כפי שמוצג למטה.

שימוש ב-OpenSSL ב-Windows 10 ליצירת CSR ומפתח פרטי
לפני שתוכל ליצור תעודת SSL, עליך ליצור בקשת לחתימת תעודה (CSR). CSR הוא קובץ מוצפן שמספק לך דרך לשתף את המפתח הציבורי שלך עם רשות התעודות (CA). קובץ זה מכיל מידע זיהוי, אלגוריתם חתימה וחתימה דיגיטלית. בואו ניצור את ה-CSR ואת המפתח הפרטי הראשון שלך.
קשור: המדריך שלך לתעודות X509 לתמים
כדי ליצור CSR, הפעל את הפקודה הבאה. OpenSSL יבקש ממך להזין מידע זיהוי כפי שניתן לראות בהדגמה הבאה.

לאחר השלמת התהליך, תהיה לך CSR תקף ומפתח פרטי שניתן להשתמש בו כדי להנפיק תעודת SSL עבורך.
ניתן גם לערוך את הגדרות ברירת המחדל של קובץ התצורה כדי לפשט את התהליך הזה אם אינך רוצה להזין מידע בכל פעם שאתה יוצר CSR.
ניתן לקרוא עוד על אפשרויות ה-CSR הזמינות ול צפות בדוגמאות של תצורות בדפי המדריך. ל- OpenSSL יש גם מאגר GitHub פעיל עם דוגמאות.
יצירת זוגות מפתח RSA
ניתן גם ליצור זוגות מפתח RSA (ציבורי/פרטי) בעזרת OpenSSL. כדי לעשות זאת, תחילה, צור מפתח פרטי באמצעות הפקודה המשנית genrsa
כפי שמוצג למטה.
כאשר אתה מפעיל את הפקודה למטה, OpenSSL ב- Windows 10 יצור מפתח פרטי RSA באורך של 2048 ביטים. המפתח הזה יוצר תוך כדי במערכת חומרה מודרנית. המפתח התוצאתי יופיע בתיקיית העבודה
לאחר מכן, יש ליצור מפתח ציבורי באמצעות המפתח הפרטי שנוצר כעת באמצעות התת-פקודה rsa
. התחביבים למטה ייצרו מפתח ציבורי בשם rsa.public בתיקיית העבודה מתוך המפתח הפרטי rsa.private.
יצירת תעודה עם חתימה עצמית
לפעמים ייתכן שתצטרך ליצור תעודת חתימה עצמית. תעודות חתימה עצמיות הן אפשרות לשימוש בסביבות ניסוי, אך לא הולמות לשימוש בסביבה ייצורית.
בוא ניצור תעודה עם חתימה עצמית לפני שנמשיך לשלב הבא. כדי לעשות זאת, הזן את הפקודה ליצירת תעודה SSL X509. תעודה זו תשתמש בקריפטוגרפיה SHA256, תהיה תקפה למשך 365 יום עם אורך מפתח RSA של 2048 ביטים. התעודה תישמר בתיקיית העבודה.
אתה מוכן כעת לייבא את התעודה לדפדפן או שרת.
אימות CSR, תעודות ומפתחות עם OpenSSL
בדיקת המידע ב-CSR, מפתח פרטי, תעודה, או PKCS#12 יכולה לחסוך לך זמן בטיפול בשגיאות SSL. לפעמים ייתכן ונעשה שימוש במפתח שגוי כדי ליצור תעודה, לדוגמה. ייתכן והמידע המזהה בתעודה אינו נכון.
בואו נתחיל בבדיקת CSR באמצעות הפקודה req
עם כמה פרמטרים:

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

המרת תעודות עם OpenSSL
ישנן מקרים שבהם יישום לא משתמש בפורמט תעודה מסוים. ניתן להתמודד עם בעיה כזו ביישום בשם HAproxy, לדוגמה, שדורש תעודת PEM כאשר ייתכן שיש לך תעודה בפורמט DER (.crt .cer .der).
כדי להדגים את המרת התעודה, בואו נמיר את התעודה העצמית שנוצרה קודם בפורמט DER (certificate.crt) ל-PEM. השתמשו בקוד בחתיכת הקוד הבאה לעשות זאת.
הפקודה הבאה משתמשת בפקודה המשנית x509
עם הפרמטר של -inform
שצריך להתאים לפורמט של הקובץ -in
לאחריו בא פורמט -out
.
ניתן גם להפוך את הסדר אם תרצו להפוך מפורמט PEM ל-DER כמו שמוצג למטה.
ולאחרונה, תוכל להמיר את PKCS#12 ל-PEM ו-PEM ל-PKCS#12. זהו סוג קובץ המכיל מפתחות פרטיים ותעודות. כדי להמיר לתבנית PEM, השתמש בתת-פקודה pkcs12
.
תוכל להמיר תעודת PEM ומפתח פרטי לתבנית PKCS#12 באמצעות -export
עם מספר אפשרויות נוספות. למטה אתה מייצא תעודה בפורמט PKCS#12 באמצעות מפתח פרטי באמצעות SomeCertificate.crt
כמקור קלט. שימוש בערך אופציה -certfile
בערך MyCACert.crt
מאפשר לך לאמת את SomeCertificate.crt
.
פתרון בעיות ואיתור באגים
עכשיו שאתה יכול ליצור ולהמיר CSR's, תעודות וזוגות מפתחות, הגיע הזמן ללמוד איך לאתר ולתקן בעיות. OpenSSL מגיע עם פקודות שהן כמעט כמו לנשום כדי לזהות בעיות.
OpenSSL מאפשרת גם לך לבדוק תעודות לאחר כדי תקינות קובץ ולבדוק אם ישנה פגיעה אפשרית בנתונים. באמצעות סיכום MD5, אתה יכול להשתמש בדוגמאות קוד הבאות כדי לבדוק תעודות, מפתחות ו-CSR's:
כשיש לך את הגיבור המקורי, תוכל להשוות אותו עם גיבור נוכחי כדי לוודא שהתעודה לא הושתנה או נפגעה.
כאן דוגמה לאיך הקוד נראה כאשר מורץ בפוורשל:

סיכום
במאמר זה, למדת כיצד להתקין ולהגדיר את OpenSSL על Windows 10, ליצור CSR, זוג מפתחות ותעודת SSL. למדת גם כיצד להמיר בין פורמטים שונים של תעודות ולבצע בדיקות יסודיות באמצעות תת-פקודות מובנות.