כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של
Apigee X. מידע
במסמך הזה מוסבר איך לאמת שרשרת אישורים לפני שמעלים את האישור ל-Keystore או ל-Truststore ב-Apigee Edge. התהליך מסתמך על ערכת הכלים OpenSSL כדי לאמת את שרשרת האישורים, והוא רלוונטי בכל סביבה שבה OpenSSL זמין.
לפני שמתחילים
לפני שמבצעים את השלבים במסמך הזה, חשוב להבין את הנושאים הבאים:
- לא יודעים מה זה שרשרת אישורים? כדאי לקרוא את המאמר שרשרת אישורים.
- אם אתם לא מכירים את ספריית OpenSSL, כדאי לקרוא את OpenSSL.
- כדי להשתמש בדוגמאות של שורת הפקודה במדריך הזה, צריך להתקין את הגרסה האחרונה של לקוח OpenSSL או לעדכן אותה.
- יש לוודא שהאישורים הם בפורמט PEM. אם האישורים לא בפורמט PEM, אפשר להיעזר בהוראות שב המרת אישורים לפורמט נתמך כדי להמיר אותם לפורמט PEM.
אימות הנושא והמנפיק של האישור עבור השרשרת המלאה
כדי לאמת את שרשרת האישורים באמצעות פקודות OpenSSL, צריך לבצע את השלבים המתוארים בקטעים הבאים:
- פיצול שרשרת האישורים
- אימות הנושא של האישור והמנפיק
- אימות הנושא של האישור וגיבוב (hash) של המנפיק
- אימות תפוגת האישור
פיצול שרשרת האישורים
לפני אימות האישור צריך לפצל את שרשרת האישורים לאישורים נפרדים לפי השלבים הבאים:
- נכנסים לשרת שבו קיים לקוח OpenSSL.
- צריך לפצל את שרשרת האישורים לאישורים הבאים (אם עדיין לא עשית זאת):
-
אישור ישות:
entity.pem
-
אישור ביניים:
intermediate.pem
-
האישור הבסיסי:
root.pem
באיור הבא מוצגת שרשרת אישורים לדוגמה:
אימות של הנושא והמנפיק של האישור
בקטע הזה מוסבר איך להשיג את הנושא והמנפיק של האישורים, ולוודא שיש לך שרשרת אישורים תקפה.
-
מריצים את פקודת OpenSSL הבאה כדי לקבל את
Subject
ואתIssuer
עבור כל אישור בשרשרת מ-entity
עדroot
, ולוודא שהם יוצרים שרשרת אישורים מתאימה:openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
כאשר certificate הוא שם האישור.
-
מוודאים שהאישורים בשרשרת עומדים בהנחיות הבאות:
-
הערך
Subject
של כל אישור תואם ל-Issuer
של האישור הקודם בשרשרת (מלבד האישורEntity
). -
Subject
ו-Issuer
זהים לאישור הבסיס.
אם האישורים בשרשרת עומדים בהנחיות האלה, שרשרת האישורים נחשבת מלאה ותקפה.
אימות של שרשרת אישורים לדוגמה
הדוגמה הבאה היא הפלט של פקודות OpenSSL עבור שרשרת אישורים לדוגמה שמכילה שלושה אישורים:
אישור ישות
openssl x509 -text -in entity.pem | grep -E '(Subject|Issuer):' Issuer: C = US, O = Google Trust Services, CN = GTS CA 1O1 Subject: C = US, ST = California, L = Mountain View, O = Google LLC, CN = *.enterprise.apigee.com
אישור ביניים
openssl x509 -text -in intermediate.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: C = US, O = Google Trust Services, CN = GTS CA 1O1
האישור הבסיסי
openssl x509 -text -in root.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
בדוגמה שלמעלה, שימו לב לדברים הבאים:
-
השדה
Subject
של אישור הביניים תואם ל-Issuer
של אישור הישות. -
הערך
Subject
של אישור הבסיס תואם ל-Issuer
של אישור הביניים. -
ה-
Subject
וה-Issuer
זהים באישור הבסיס.
לפי הדוגמה שלמעלה, אפשר לוודא ששרשרת האישורים לדוגמה תקינה.
-
הערך
אימות הנושא של האישור וגיבוב (hash) של המנפיק
בקטע הזה מוסבר איך לקבל את הגיבוב (hash) של הנושא והמנפיק של האישורים, ולוודא שיש לך שרשרת אישורים חוקית.
תמיד מומלץ לאמת את רצף הגיבוב (hash) של האישורים, מכיוון שהפעולה הזו יכולה לעזור בזיהוי בעיות כמו שם נפוץ (CN) באישור שיש בו רווחים לא רצויים או תווים מיוחדים.
- מריצים את פקודת OpenSSL הבאה כדי לקבל את הרצף
hash
לכל אישור בשרשרת מ-entity
עדroot
, ולוודא שהן יוצרות שרשרת אישורים תקינה. - מוודאים שהאישורים בשרשרת עומדים בהנחיות הבאות:
-
Subject
של כל אישור תואם ל-Issuer
של האישור הקודם בשרשרת (למעט האישורEntity
). -
Subject
ו-Issuer
זהים לאישור הבסיס. -
subject hash
של אישור הביניים תואם ל-issuer hash
של אישור הישות. -
הערך
subject hash
של אישור הבסיס תואם ל-issuer hash
של האישור המנפיק. -
ה-
subject
וה-issuer hash
זהים באישור הבסיס.
openssl x509 -hash -issuer_hash -noout -in certificate
כאשר certificate הוא שם האישור.
אם האישורים בשרשרת עומדים בהנחיות האלה, שרשרת האישורים נחשבת מלאה ותקפה.
דוגמה לאימות של שרשרת אישורים באמצעות רצף גיבוב (hash)
הדוגמה הבאה היא הפלט של פקודות OpenSSL עבור שרשרת אישורים לדוגמה שמכילה שלושה אישורים:
openssl x509 -in entity.pem -hash -issuer_hash -noout c54c66ba #this is subject hash 99bdd351 #this is issuer hash
openssl x509 -in intermediate.pem -hash -issuer_hash -noout 99bdd351 4a6481c9
openssl x509 -in root.pem -hash -issuer_hash -noout 4a6481c9 4a6481c9
בדוגמה שלמעלה, שימו לב לדברים הבאים:
לפי הדוגמה שלמעלה, אפשר לוודא ששרשרת האישורים לדוגמה תקינה.
אימות של תפוגת האישור
בקטע הזה מוסבר איך לבדוק אם התוקף של כל האישורים בשרשרת פג באמצעות השיטות הבאות:
- בודקים את תאריכי ההתחלה והסיום של ההסמכה.
- מקבלים את סטטוס התפוגה.
תאריך התחלה וסיום
מריצים את פקודת OpenSSL הבאה כדי לקבל את תאריך ההתחלה והסיום של כל אישור בשרשרת מ-entity
עד root
, ולוודא שכל האישורים בשרשרת בתוקף (תאריך ההתחלה קודם לתאריך הנוכחי) ושהם עדיין בתוקף.
דוגמה לאימות תפוגת האישור באמצעות תאריכי התחלה וסיום
openssl x509 -startdate -enddate -noout -in entity.pem notBefore=Feb 6 21:57:21 2020 GMT notAfter=Feb 4 21:57:21 2021 GMT
openssl x509 -startdate -enddate -noout -in intermediate.pem notBefore=Jun 15 00:00:42 2017 GMT notAfter=Dec 15 00:00:42 2021 GMT
openssl x509 -startdate -enddate -noout -in root.pem notBefore=Apr 13 10:00:00 2011 GMT notAfter=Apr 13 10:00:00 2022 GMT
סטטוס תפוגה
מריצים את פקודת OpenSSL הבאה כדי לבדוק אם תוקף האישור כבר פג או אם הוא עומד לפוג ב-N seconds
הבא. הפעולה הזו מחזירה את סטטוס התפוגה של
האישור בהקשר של תאריך המערכת הנוכחי.
openssl x509 -checkend <N Seconds> -noout -in certificate
כאשר certificate הוא שם האישור.
דוגמה לאימות תפוגת אישור באמצעות אפשרות של סיום ביקורת
הפקודה הבאה משתמשת ב-0 seconds
כדי לבדוק אם פג התוקף של האישור:
openssl x509 -checkend 0 -noout -in entity.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in intermediate.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in root.pem Certificate will not expire
בדוגמה הזו, ההודעה Certificate will not expire
מציינת
שתוקף האישור עדיין לא פג.