מטרת האישור מתבצעת

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

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

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

  • שימוש במפתח
  • שימוש מורחב במפתח

שימוש במפתח

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

אלה התוספים השונים לשימוש במפתחות שזמינים לאישור TLS שנוצר באמצעות תהליך של רשות אישורים (CA):

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

מידע נוסף על התוספים האלה לשימוש במפתחות זמין ב-RFC5280, Key Usage.

שימוש מורחב במפתח

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

הנה כמה תוספים נפוצים לשימוש מורחב במפתח:

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

מפתח מורחב יכול להיות קריטי או לא קריטי.

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

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

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

מטרה שימוש במפתח

(חובה)

שימוש מורחב במפתח

(אופציונלי).

אישור ישות של השרת שמשמש במאגר המפתחות של המארח הווירטואלי ב-Apigee Edge
  • חתימה דיגיטלית
  • קידוד מפתח או הסכם מפתח
אימות שרת אינטרנט TLS
אישור של ישות לקוח שמשמש ב-truststore של מארח וירטואלי ב-Apigee Edge
  • חתימה דיגיטלית או הסכם מפתח
אימות לקוח TLS באינטרנט
אישור של ישות שרת שמשמש ב-Apigee Edge במאגר האישורים של שרת היעד
  • חתימה דיגיטלית
  • קידוד מפתח או הסכם מפתח
אימות שרת אינטרנט TLS
אישור של ישות לקוח שמשמש במאגר המפתחות של שרת היעד ב-Apigee Edge keystore
  • חתימה דיגיטלית או הסכם מפתח
אימות לקוח TLS באינטרנט
אישורי ביניים ואישורי בסיס
  • חתימה על אישור
  • חתימה על רשימת אישורים שבוטלו (CRL)

לפני שמתחילים

לפני שמשתמשים בשלבים שמתוארים במאמר הזה, חשוב להבין את הנושאים הבאים:

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

אימות המטרה של האישור

בקטע הזה מתוארים השלבים שמשמשים לאימות המטרה של האישור.

  1. מתחברים לשרת שבו קיים OpenSSL.
  2. כדי לקבל את השימוש במפתח של אישור, מריצים את פקודת OpenSSL הבאה:
    openssl x509 -noout -ext keyUsage < certificate

    כאשר certificate הוא שם האישור.

    פלט לדוגמה

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  3. אם השימוש במפתח הוא חובה, הוא יוגדר כקריטי באופן הבא:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  4. מריצים את הפקודה הבאה כדי לקבל את השימוש המורחב במפתח של אישור. אם השימוש במפתח המורחב לא מוגדר כקריטי, זו המלצה ולא חובה.
    openssl x509 -noout -ext extendedKeyUsage < certificate

    כאשר certificate הוא שם האישור.

    פלט לדוגמה

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication