מהו CSR?
בקשת חתימה על תעודה (CSR) היא מסמך PKCS#10 קטן שרשות האישורים (CA) זקוקה לו כדי להנפיק תעודת TLS או תעודת חתימת קוד. המסמך כולל את החלק הציבורי של זוג המפתחות, את הזהות שברצונכם שה-CA יאשר (ה-Subject), ומזהים נוספים כגון שמות DNS או כתובות IP (Subject Alternative Names, או SAN) — הכל חתום על ידי המפתח הפרטי התואם.
כלי זה בונה את ה-CSR כולו בדפדפן שלכם באמצעות ה-Web Crypto API ו-@peculiar/x509. שום מידע על המפתח שלכם או על הבקשה אינו נשלח לשרת.
מתי להשתמש בכלי זה
- בקשת תעודת TLS מ-CA ציבורי (Let’s Encrypt, DigiCert, ZeroSSL, Sectigo וכד’) כאשר תהליך העבודה שלהם מבקש ממכם להדביק CSR משלכם.
- יצירת CSR עבור רשות אישורים פנימית — מבוססת ACME, smallstep, EJBCA, AD CS — מבלי לסמוך על טופס מתוחזק.
- הנפקה מחדש של תעודה עם אותו מפתח פרטי על ידי ייבוא מפתח PKCS#8 PEM קיים וחתימה על CSR חדש בלבד.
כיצד למלא את הטופס
- מקור המפתח — בחרו צור מפתח חדש ליצירת זוג מפתחות חדש, או ייבא קיים כדי להדביק מפתח PKCS#8 PEM ללא הצפנה. מפתחות מוצפנים, בלוקי
RSA PRIVATE KEYישנים ובלוקיEC PRIVATE KEYאינם מתקבלים; המירו אותם תחילה עםopenssl pkcs8 -topk8 -nocrypt. - אלגוריתם — RSA הוא ברירת המחדל עם התאימות הרחבה ביותר. ECDSA מייצר חתימות קטנות יותר ונתמך באופן נרחב על ידי CA-ים מודרניים ולקוחות TLS.
- Subject — רוב ה-CA-ים הציבוריים מתעלמים מכל דבר מלבד ה-Common Name ומתייחסים לרשימת ה-DNS SAN כסמכותית, אך CA-ים פרטיים עשויים עדיין לדרוש DN מלא.
- רשומות SAN — פרטו את שמות המארח, כתובות ה-IP, כתובות הדואר האלקטרוני או ה-URIs שאותם ברצונכם שהתעודה תכסה. רשומה אחת לכל שורה, או מופרדות בפסיקים.
מה כדאי לזכור
- המפתח הפרטי המוצג לצד ה-CSR נוצר מקומית ואינו עוזב את הדפדפן. שמרו אותו לפני סגירת הלשונית — ללא המפתח הפרטי התואם, התעודה החתומה אינה שמישה.
- CA-ים ציבוריים מחייבים ש-Common Name (או לפחות רשומת SAN אחת) יהיה שם DNS שהם יכולים לאמת. SAN-ים של כתובות IP שימושיים בעיקר עבור תעודות פנימיות.
- המפתח הפרטי שנוצר אינו מוצפן. הוסיפו ביטוי סיסמה עם
openssl pkcs8 -in key.pem -topk8 -out key-enc.pemאם תצטרכו כזה לפני האחסון. - נתמכים רק RSA (2048/3072/4096) ו-ECDSA (P-256/P-384/P-521). EdDSA הושמט בכוונה מכיוון שהקבלה שלו בדפדפנים ו-CA-ים עדיין אינה עקבית.