המערכת ממירה אישורים לפורמט נתמך

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

במאמר הזה מוסבר איך להמיר את אישור ה-TLS ואת המפתח הפרטי שמשויך אליו לפורמט PEM או לפורמט PFX (PKCS #12).

ב-Apigee Edge יש תמיכה בשמירת אישורים בפורמט PEM או PFX בלבד במאגרי מפתחות ובמאגרי אישורים מהימנים. השלבים להמרת אישורים מכל פורמט קיים לפורמט PEM או PFX מבוססים על ערכת הכלים OpenSSL, והם רלוונטיים לכל סביבה שבה OpenSSL זמין.

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

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

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

המרת אישור מפורמט DER לפורמט PEM

בקטע הזה מוסבר איך להמיר אישור ומפתח פרטי משויך מפורמט DER לפורמט PEM.

  1. מעבירים את הקובץ שמכיל את שרשרת האישורים המלאה (certificate.der) ואת המפתח הפרטי המשויך (private_key.der) שרוצים להמיר לפורמט PEM למחשב שבו מותקן OpenSSL באמצעות scp, sftp או כל כלי אחר.

    לדוגמה, משתמשים בפקודה scp כדי להעביר את הקובץ לספרייה /tmp בשרת שמכיל OpenSSL, באופן הבא:

    scp certificate.der servername:/tmp
    scp private_key.der servername:/tmp

    כאשר servername הוא שם השרת שמכיל את OpenSSL.

  2. מתחברים למחשב שבו מותקן OpenSSL.
  3. מהספרייה שבה נמצאים האישורים, מריצים את הפקודה הבאה כדי להמיר את האישור ואת המפתח הפרטי המשויך מפורמט DER לפורמט PEM:
    openssl x509 -inform DER -in certificate.der -outform PEM -out certificate.pem
    openssl rsa -inform DER -in private_key.der -outform PEM -out private.key
  4. מוודאים שהאישור הומר לפורמט PEM.

המרת אישור מפורמט P7B לפורמט PEM

בקטע הזה מוסבר איך להמיר אישורים מפורמט P7B לפורמט PEM.

  1. מעבירים את הקובץ שמכיל את שרשרת האישורים המלאה (certificate.p7b) שרוצים להמיר לפורמט PEM למחשב שבו מותקן OpenSSL באמצעות scp,‏ sftp או כלי אחר.

    לדוגמה, משתמשים בפקודה scp כדי להעביר את הקובץ לספרייה /tmp בשרת שמכיל OpenSSL, באופן הבא:

    scp certificate.p7b servername:/tmp

    כאשר servername הוא שם השרת שמכיל את OpenSSL.

  2. מתחברים למחשב שבו מותקן OpenSSL.
  3. מהספרייה שבה נמצאים האישורים, מריצים את הפקודה הבאה כדי להמיר את האישור מפורמט P7B לפורמט PEM:
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
  4. מוודאים שהאישור הומר לפורמט PEM.

המרת אישור מפורמט PFX לפורמט PEM

בקטע הזה מוסבר איך להמיר אישורי TLS מפורמט PFX לפורמט PEM.

כשממירים קובץ PFX לפורמט PEM, ‏ OpenSSL מכניס את כל האישורים ואת המפתח הפרטי לקובץ אחד. תצטרכו לפתוח את הקובץ בעורך טקסט ולהעתיק כל אישור ומפתח פרטי (כולל הצהרות BEGIN/END) לקובצי טקסט נפרדים ולשמור אותם כ-certificate.pfx, Intermediate.pfx (אם רלוונטי), CACert.pfx ו-privateKey.key בהתאמה.

‫Apigee תומך בפורמט PFX/PKCS #12, אבל פורמט PEM נוח לשימוש מסיבות רבות, כולל אימות.

  1. מעבירים את האישורים ואת המפתח הפרטי (certificate.pfx,‏ Intermediate.pfx CACert.pfx, ‏ privateKey.key) שרוצים להמיר לפורמט PEM למחשב שבו מותקן OpenSSL באמצעות scp,‏ sftp או כל כלי אחר.

    לדוגמה, משתמשים בפקודה scp כדי להעביר את הקובץ לספרייה /tmp בשרת שמכיל OpenSSL, באופן הבא:

    scp certificate.pfx servername:/tmp

    כאשר servername הוא שם השרת שמכיל את OpenSSL.

  2. מתחברים למחשב שבו מותקן OpenSSL.
  3. מהספרייה שבה נמצאים האישורים, מריצים את הפקודה הבאה כדי להמיר את האישור מפורמט P7B לפורמט PEM:
    openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
  4. מוודאים שהאישור הומר לפורמט PEM.

המרת אישור מפורמט P7B לפורמט PFX

בקטע הזה מוסבר איך להמיר אישורי TLS מפורמט P7B לפורמט PFX.

כדי להמיר לפורמט PFX, צריך לקבל גם את המפתח הפרטי.

  1. מעבירים את האישור (certificate.p7b) שרוצים להמיר ל-PFX למחשב שבו מותקן OpenSSL באמצעות scp, ‏ sftp או כלי אחר.

    לדוגמה, משתמשים בפקודה scp כדי להעביר את הקובץ לספרייה /tmp בשרת שמכיל OpenSSL, באופן הבא:

    scp certificate.p7b servername:/tmp
    scp private_key.key servername:/tmp

    כאשר servername הוא שם השרת שמכיל את OpenSSL.

  2. מתחברים למחשב שבו מותקן OpenSSL.
  3. מהספרייה שבה נמצאים האישורים, מריצים את הפקודות הבאות כדי להמיר את האישור מפורמט P7B לפורמט PFX ולייצא את האישור של הישות ואת אישור הביניים של הרשות שמנפיקה את האישורים (CA) לקבצים נפרדים:
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    
    openssl pkcs12 -export -in certificate.cer -inkey private_key.key -out certificate.pfx -certfile CACert.cer

אימות האישור בפורמט PEM

בקטע הזה מוסבר איך לוודא שהאישור הוא בפורמט PEM.

  1. כדי להציג את האישור בפורמט PEM, מריצים את הפקודה הבאה:
    openssl x509 -in certificate.pem -text -noout
  2. אם אתם יכולים לראות את תוכן האישור בפורמט שניתן לקריאה על ידי בני אדם ללא שגיאות, אתם יכולים לאשר שהאישור הוא בפורמט PEM.
  3. אם האישור הוא בפורמט אחר, יופיעו שגיאות כמו השגיאות הבאות:
    unable to load certificate
    12626:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTED CERTIFICATE View DER encoded Certificate

אריזת קובצי אישור ומפתח PEM בפורמט PKCS12/PFX

  1. מוודאים שקובץ המפתח הפרטי הוא בפורמט PEM. אם יש לכם קובצי PEM נפרדים לשרשרת האישורים, פותחים כל קובץ בכלי לעריכת טקסט ומשרשרים אותם לקובץ אחד כמו בדוגמה הבאה:
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
  2. מעבירים את הקבצים למכונה שבה מותקן OpenSSL באמצעות scp, sftp או כל כלי אחר:
    scp certificate.pem servername:/tmp
    scp private.key servername:/tmp
  3. מתחברים למחשב שבו מותקן OpenSSL.
  4. מהספרייה שבה נמצאים הקבצים, מריצים את הפקודה הבאה כדי לארוז את הקבצים בקובץ PKCS12 עם הכינוי myalias. כשמוצגת בקשה, מזינים סיסמה מתאימה:
    openssl pkcs12 -export -in certificate.pem -inkey private.key -out keystore.pfx -name myalias