שגיאת רישום של Easy-RSA ב-Windows: בדקו את תצוגת הרישום
הודעת הרישום הזו היא כשל בחיפוש כלים, לא CA שבור. השוו את תצוגות 32 הסיביות ו-64 הסיביות לפני עריכת קובץ האצווה או ה-PKI.
קובץ האצווה נעצר בהודעה “המערכת לא הצליחה למצוא את מפתח או הערך שצוינו ברישום” וכולם מניחים שסמכות האישורים שבורה. היא לא, או לפחות עדיין לא: הסקריפט נכשל בזמן שחיפש תוכנה, לפני שביקש מ-Easy-RSA לעשות משהו עם מפתח. הסדר הזה חשוב, כי הוא אומר שהתיקון הוא בעיית חיפוש ושתשתית המפתחות הציבוריים היא רק צופה. קריאת השורה שנכשלת היא כל האבחון, וזה לוקח פחות זמן מכל עקיפה.
השגיאה מתרחשת לפני שנוגעים ב-CA
קובצי אצווה ישנים של Easy-RSA 2 מאתרים את OpenSSL או את התקנת OpenVPN באמצעות שאילתת הרישום, ואז מגדירים משתנים לפי מה שמצאו. כשהשאילתה לא מחזירה דבר, הסקריפט נעצר לפני שמופעלת פעולת אישור כלשהי.
לכן הודעה על מפתח רישום היא ראיה על סביבת הסקריפט, לא על ספריית ה-CA.
שתי תצוגות רישום, קובץ אצווה אחד
תהליך 32 סיביות ותהליך 64 סיביות יכולים לראות תצוגות רישום שונות, וקובץ אצווה שמניח אחת מהן עלול להחמיץ את הרשומה שקיימת בשנייה. ההשוואות האלה לקריאה בלבד מראות את ההבדל עבור המפתח הישן שכמה סקריפטים ישנים משתמשים בו:
reg query "HKLM\SOFTWARE\OpenVPN" /reg:32
reg query "HKLM\SOFTWARE\OpenVPN" /reg:64
תיעוד reg query מתאר את בוררי התצוגה. הריצו את שניהם באותו הקשר שבו רץ הסקריפט שנכשל, כי התצוגה תלויה באופן שבו התהליך מתחיל וגם בדגלים. אם הרשומה קיימת רק בתצוגה אחת, השוו את הנתיב שאליו היא מצביעה לכלים המותקנים לפני שתשנו משהו. מפתח שקיים אך מצביע על ספריית התקנה ישנה הוא תקלה שונה ממפתח חסר.
אם אף אחת משתי התצוגות לא מכילה את הרשומה, המתקין מעולם לא יצר אותה, וייצור ידני של ערך לא יגרום לכלים לעבוד.
אל תוסיפו את /reg:64 ללא תנאי
התיקון המפתה הוא להוסיף את בורר 64 הסיביות לכל שאילתה ולהמשיך הלאה. בהתקנות מסוימות זה נכון, ובאחרות זה שולח את הסקריפט לתצוגה שבאמת אין בה דבר.
שנו את החיפוש רק אחרי שראיתם איזו תצוגה מכילה את הערך הצפוי.
גילוי אינו תיקון PKI
השגיאה הזו לא מוכיחה שאישור ה-CA, מפתח החתימה, קובץ הסידורי או מסד הביטולים ניזוקו. הרצת clean-all שהועתקה מדריך ישן תשמיד קבוצה אחרת לגמרי של אובייקטים ותותיר את החיפוש שבור. החזיקו את שתי הפעילויות בנפרד בראש ובכרטיס. אם פעולת אישור תיכשל מאוחר יותר, העריכו אותה לפי הראיות שלה.
גבו את ספריית ה-CA לפני כל ניסוי, אפילו כזה שאתם בטוחים שהוא לקריאה בלבד.
מעבר ל-Easy-RSA 3 הוא הגירה
התקנה מתוחזקת צריכה להשתמש במשגר ובמודל התצורה של החבילה הנוכחית עצמה, ו־Easy-RSA 3 אינה זרימת העבודה של קובץ אצווה כפי שהיא ב-Easy-RSA 2. הפתיחה המהירה שלה ל-PKI חדש אינה הוראת הגירה לרשות קיימת. לפני החלפת גרסאות, שמרו את חומר ה-CA יחד עם רשומות ההנפקה והביטול, ופעלו לפי הנחיות השדרוג של אותה גרסה. אתחול CA חלופי בתוך הספרייה המוסמכת כדי שגיאת גילוי כלים תיעלם הוא האפשרות הגרועה ברשימה.
החלפת גרסה היא פרויקט; שגיאת הרישום היא אחר צהריים.
ההשוואה שפותרת את זה באמת
רשמו ארבעה דברים והשוו אותם ישירות:
- איזה סקריפט רץ, ואיזו שורה נכשלה.
- איזו תצוגת רישום שאלה השורה ההיא.
- איזה נתיב הפעלה הסקריפט ציפה לו.
- איזו התקנה באמת קיימת במחשב.
כשארבעת אלה תואמים, השגיאה נעלמת, וכל בעיית אישור שנותרה יכולה להיקרא לפי הראיות שלה במקום להאשים את ה-CA.