העתקת תעודת VPN אינה מעתיקה את המפתח
תעודה מחזיקה את המפתח הציבורי ואת הזהות החתומה; המפתח הפרטי שלה נפרד. קראו את חבילת הייצוא לפני שהנחה שהעתק יכול להזדהות.
הסיור מתחיל ברשימת התעודות של הלקוח, שם הרשומה מציגה שם, מנפיק ותאריך תפוגה ולא דבר אחר. ייצאו אותה, ייבאו אותה במכשיר השני, והחיבור נדחה כי הלקוח אינו יכול להוכיח שהוא מחזיק במפתח הפרטי. הקובץ הועתק במלואו; הטעות היא לצפות שתעודה תישא את המפתח של עצמה. קראו את תיבת הייצוא לפני בחירת התבנית, ואז בדקו את הקובץ שבאמת קיבלתם.
שתי לחיצות, שני חפצים שונים מאוד.
קראו את תיבת הייצוא, לא את סיומת הקובץ
ייצוא תעודת DER או PEM מכיל מפתח ציבורי ואת הצהרות הזהות החתומות, וזה מה ששרת צריך כדי לסמוך עליכם ומה שלקוח צריך כדי לאמת שרת. חבילת PKCS#12 היא מכל שיכול להכיל תעודה, את השרשרת שלה ואת המפתח הפרטי המתאים, מוגן בסיסמה, אם כי אפשר ליצור אותה גם בלי המפתח.
PEM הוא רק קידוד טקסט, לא הבטחה לגבי התוכן. אותה סיומת יכולה לתאר תעודה אחת או קובץ עם כמה בלוקים מתויגים, ואפשרויות הייצוא הן שקובעות איזו.
לכן השאלה השימושית היא לעולם לא איזו סיומת קיבלתם, אלא אילו בלוקים יש בקובץ. חבילה שיוצאה בלי המפתח שלה היא עדיין חבילה. בדקו את התוכן ולא את הפופולריות של התבנית.
בדקו מה באמת קיבלתם
חפשו את התגיות לפני ייבוא משהו, ואז קראו את שדות התעודה כדי לאשר איזו זהות אתם מחזיקים. הריצו את הבדיקות על הקובץ שייובא בפועל. חזרו עליהן אחרי כל ייצוא חוזר, כי האפשרויות עשויות להיות שונות.
grep -E 'BEGIN (CERTIFICATE|PRIVATE KEY|ENCRYPTED PRIVATE KEY)' bundle.pem openssl x509 -in client.crt -noout -subject -issuer -dates openssl pkey -in client.key -noout -text | head -5 openssl pkcs12 -info -in client.p12 -noout
ייצוא עם בלוק תעודה בלבד הוא אובייקט ציבורי ואינו יכול להזדהות. בלוק מפתח בלי תעודה משאיר אתכם בלי השרשרת שהשרת מצפה לה. פלט המידע של PKCS#12 מדווח גם אם קיים מפתח, וזה מכריע את השאלה עבור התבנית הזו. הוא גם מציין את האלגוריתם ואת גודל המפתח, והוא נכשל לחלוטין כשאין מפתח.
לעולם אל תדביקו קובץ שמכיל מפתח פרטי בשרשור תמיכה, במעקב בעיות או בצ'אט, גם כשהוא נראה כמו התעודה שכבר שיתפתם. צילומי מסך של לוח מפתחות ראויים לאותה זהירות.
המפתח עשוי לשכון במקום שאינו ניתן להעתקה
במכשירים מנוהלים המפתח הפרטי יכול לשבת במחזיק המפתחות של מערכת ההפעלה, באסימון חומרה או באזור מבודד מאובטח, עם מדיניות שמסמנת אותו כבלתי ניתן לייצוא. מנהל התעודות מציג אז את האובייקט הציבורי בעוד הסוד נשאר במקומו, ואף פקודת ייצוא לא תיצור עותק נייד. הרשמה באמצעות ניהול מכשירים ניידים פועלת לעיתים קרובות כך מלכתחילה.
זהו בקרה, לא מכשול שיש לעקוף. שחזור מפתח פרטי מהתעודה הציבורית אינו אפשרי, וכל כלי שמצהיר על כך עושה משהו אחר.
רשמו זהות חדשה במקום להעתיק
המסלול הנתמך הוא בדרך כלל לרשום זהות נפרדת למכשיר החדש ולבטל את הישנה כשהיא יוצאת משירות, כך שכל מכשיר ניתן להסרה באופן עצמאי. במקום שבו ייצוא עם המפתח מאושר באמת, התייחסו לקובץ שנוצר ולסיסמה שלו כאל פרטי גישה: מוצפנים במנוחה, מועברים בערוץ מהימן ונמחקים כשההרשמה הסתיימה.
אמתו על ידי הזדהות עם הזהות המיובאת, ולא על ידי צפייה בהצלחת הייבוא. לקוח שמקבל תעודה ציבורית למאגר שלו לא הוכיח דבר על המפתח.
סיימו באישור שהשרת מקבל את הזהות החדשה ושהזהות הישנה עדיין מתנהגת כפי שהמדיניות מתכוונת. כך הסיור נסגר בראיות, ולא בקובץ שנראה נכון.