תיעוד 23
הבאת CA משלכם עבור mTLS
עודכן לאחרונה: 8 בספטמבר 2026
דף זה מסביר כיצד באפשרותכם לנהל תעודות לקוח שלא הונפקו על ידי ה-CA של Cloudflare. לקבלת סקירה רחבה יותר, עיינו ב-מסלול הלמידה של mTLS ב-Cloudflare.
הבאת CA משלכם (BYOCA) שימושית במיוחד אם כבר הטמעתם mTLS ו-תעודות לקוח כבר מותקנות במכשירים.
#זמינות
- תכונה זו זמינה בחשבונות Enterprise בלבד.
- כל חשבון Enterprise יכול להעלות עד חמישה גורמי תעודות (CAs). מכסה זו אינה חלה על CAs שהועלו דרך Cloudflare Access.
- מכסת תעודות ה-CA משותפת בין API Shield, Workers mTLS, ו-Cloudflare Gateway.
- כדי להגדיל מכסה זו, פנו לצוות החשבון שלכם.
הערה
אם תחרגו ממכסת תעודות ה-CA, ה-API מחזיר שגיאה 1489 עם ההודעה "Hit maximum CA cert allocation." פנו לצוות החשבון שלכם כדי לבקש הגדלת מכסה.
Cloudflare Access משתמש במכסה נפרדת
CAs שהועלו דרך Cloudflare Access משתמשים במכסה נפרדת שאינה נספרת מול מגבלת חמשת ה-CAs. אם מופיעה שגיאה 12130 ("maximum number of certificates has been reached") ב-Access, הדבר קשור למכסת התעודות של Access, ולא למכסת ה-CA של BYOCA.
#מתי להשתמש ב-BYOCA
BYOCA מתאים במיוחד אם:
- כבר יש לכם CA פנימי ותעודות לקוח מותקנות במכשירים שלכם.
- אתם מנפיקים תעודות בנפח גבוה או בתחלופה גבוהה, לדוגמה, תעודה אחת לכל מכונה וירטואלית זמנית (ephemeral), קונטיינר או מכשיר. עם BYOCA, קלאודפלייר מאחסנת רק את תעודת ה-CA שלכם, ולא תעודות שהונפקו באופן יחידני, כך שאין מכסה לפי תעודה.
- אתם מעוניינים בשליטה מלאה על תקופות תוקף התעודות, סוגי המפתחות וביטול תעודות (revocation) באמצעות כלי ה-CA שלכם.
אם יש לכם רק קבוצה קטנה ויציבה של מכשירים או שירותים לאימות, ה-CA המנוהל על ידי Cloudflare פשוט יותר להגדרה.
#דרישות תעודת CA
כאשר אתם מעלים את ה-CA שלכם, Cloudflare מאמתת את התעודה בהתאם לדרישות מסוימות.
- תעודת ה-CA יכולה להיות מ-CA בעל אמון ציבורי (publicly trusted CA) או בחתימה עצמית (self-signed).
- ב-
Basic Constraintsשל התעודה, המאפייןCAחייב להיות מוגדר כ-TRUE. - התעודה חייבת להשתמש באחד מאלגוריתמי החתימה המפורטים להלן:
אלגוריתמי חתימה מותרים:x509.SHA1WithRSAx509.SHA256WithRSAx509.SHA384WithRSAx509.SHA512WithRSAx509.ECDSAWithSHA1x509.ECDSAWithSHA256x509.ECDSAWithSHA384x509.ECDSAWithSHA512
הערה
העלאת המפתח הפרטי של ה-CA נדרשת רק אם ברצונכם להשתמש ב-דף החסימה של Zero Trust. כדי להעלות CA משלכם עם המפתח הפרטי, השתמשו בנקודת הקצה Upload mTLS certificate.
#הגדרת mTLS עם ה-CA שלכם
#באמצעות לוח הבקרה
- בלוח הבקרה של Cloudflare, עברו לדף Client Certificates.
מעבר אל Client Certificates ↗ - בחרו ב-Add Certificate.
- בתפריט הנפתח Certificate Authority, בחרו ב-Bring your own CA.
- העלו את קובץ תעודת ה-CA שלכם (בקידוד PEM) והזינו שם עבור ה-CA.
- בחרו ב-Continue.
- בדף Associate Hostnames, הזינו את ה-hostname שאמור להשתמש ב-CA זה לצורך אימות mTLS ובחרו ב-Add עבור כל אחד מהם. תוכלו גם לדלג על שלב זה ולשייך שמות מארחים מאוחר יותר.
- בחרו ב-Save כדי לאשר.
#באמצעות ה-API
- השתמשו בנקודת הקצה Upload mTLS certificate כדי להעלות את תעודת השורש של ה-CA.
caבוליאני, חובה- הגדירו כ-
trueכדי לציין שהתעודה היא תעודת CA.
- הגדירו כ-
certificatesמחרוזת, חובה- הכניסו את התוכן מקובץ ה-
.pemהמשויך לתעודת ה-CA, מפורמט כמחרוזת אחת עם\nבמקום מעברי שורה.
- הכניסו את התוכן מקובץ ה-
nameמחרוזת, אופציונלי- ציינו שם ייחודי עבור תעודת ה-CA שלכם.
private_keyמחרוזת, אופציונלי- הכניסו את התוכן מקובץ ה-
.pemהמשויך למפתח הפרטי עבור התעודה, מפורמט כמחרוזת אחת עם\nבמקום מעברי שורה.
- הכניסו את התוכן מקובץ ה-
- רשמו לפניכם את מזהה התעודה (
id) שמוחזר בתגובת ה-API. - השתמשו בנקודת הקצה Replace Hostname Associations כדי להפעיל mTLS בכל hostname שאמור להשתמש ב-CA לצורך אימות mTLS. השתמשו בפרמטרים הבאים:
hostnamesמערך, חובה- פרטו את שמות המארחים שישתמשו ב-CA לצורך אימות תעודת לקוח.
זהירות
שליחת מערך ריק תסיר את כל שיוכי שמות המארחים.
- פרטו את שמות המארחים שישתמשו ב-CA לצורך אימות תעודת לקוח.
mtls_certificate_idמחרוזת, חובה- ציינו את מזהה התעודה שהתקבל מהשלב הקודם.
זהירות
אם לא מסופקmtls_certificate_id, הפעולה תתבצע מול ה-CA המנוהל על ידי Cloudflare.
- ציינו את מזהה התעודה שהתקבל מהשלב הקודם.
- (אופציונלי) בצעו בקשת GET כדי לאמת את שיוכי שמות המארחים ל-CA.
לאחר העלאת ה-CA ושיוך שמות המארחים, צרו כלל מותאם אישית (custom rule) כדי לאכוף אימות תעודת לקוח. תוכלו לעשות זאת דרך לוח הבקרה או באמצעות ה-API.
"expression": "(http.host in {\"<HOSTNAME_1>\" \"<HOSTNAME_2>\"} and not cf.tls_client_auth.cert_verified)",
"action": "block"הערה
בעת שימוש ברשומות CNAME, אכפו mTLS על ה-hostname הספציפי שבו הוא אמור להיבדק. לא די בהגדרתו ביעד ה-CNAME.
#מספר CAs עבור hostname אחד
יתכנו מספר CAs (בניהול Cloudflare או BYOCA) המשויכים לאותו hostname. עבור תעודות BYOCA, תינתן עדיפות לתעודה שנפרסה לאחרונה.
אם ברצונכם להסיר את השיוך מתעודה שהונפקה על ידי Cloudflare ולהשתמש אך ורק בתעודת או בתעודות ה-BYOCA שלכם:
#באמצעות לוח הבקרה
- בלוח הבקרה של Cloudflare, עברו לדף Client Certificates.
מעבר אל Client Certificates ↗ - בחלק Hosts תחת Cloudflare-issued Client Certificates, בחרו ב-Edit.
- בחרו בסימון ה-X לצד ה-hostname שברצונכם להסיר.
- בחרו ב-Save כדי לאשר.
#באמצעות ה-API
- הציגו את רשימת שיוכי שמות המארחים ללא הפרמטר
mtls_certificate_id.
הרשאות API token נדרשות
נדרשת לפחות אחת מהרשאות הטוקן הבאות:
SSL and Certificates WriteSSL and Certificates Read
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/certificate_authorities/hostname_associations" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"- העתיקו את המערך
hostnamesשהוחזר על ידי ה-API ועדכנו אותו, תוך הסרת ה-hostname שלא אמור להשתמש עוד ב-CA המנוהל על ידי Cloudflare. - השתמשו בנקודת הקצה Replace Hostname Associations ללא הפרמטר
mtls_certificate_idכדי לבצע את הפעולה מול ה-CA המנוהל על ידי Cloudflare. עבורhostnamesהשתמשו ברשימה מהשלב הקודם.
הרשאות API token נדרשות
נדרשת לפחות אחת מהרשאות הטוקן הבאות:
SSL and Certificates Write
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/certificate_authorities/hostname_associations" \
--request PUT \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"hostnames": [
"<UPDATED_HOSTNAME_ASSOCIATIONS>"
]
}'#מחיקת CA שהועלה
אם ברצונכם להסיר CA שהעליתם בעבר, עליכם להסיר תחילה את כל שיוכי שמות המארחים הקיימים עבורו.
#באמצעות לוח הבקרה
- בלוח הבקרה של Cloudflare, עברו לדף Client Certificates.
מעבר אל Client Certificates ↗ - בחרו בלשונית BYOCA.
- מצאו את ה-CA שברצונכם למחוק ובחרו בשלוש הנקודות שלצידו.
- הסירו תחילה את כל שמות המארחים המשויכים, אם קיימים כאלה.
- בחרו באפשרות המחיקה ואשרו.
#באמצעות ה-API
- בצעו בקשה אל נקודת הקצה Replace Hostname Associations, עם מערך ריק עבור
hostnamesוציון מזהה תעודת ה-CA שלכם ב-mtls_certificate_id:
"hostnames": [],
"mtls_certificate_id": "<CERTIFICATE_ID>"- השתמשו בנקודת הקצה Delete mTLS certificate כדי למחוק את התעודה.
#הצגת רשימת שיוכי hostname ל-CA
#באמצעות לוח הבקרה
- בלוח הבקרה של Cloudflare, עברו לדף Client Certificates.
מעבר אל Client Certificates ↗ - בחרו בלשונית BYOCA.
- מצאו את ה-CA שברצונכם לבדוק ובחרו בשלוש הנקודות שלצידו.
- בחרו ב-Edit hostnames. החלונית Certificate Details מציגה את שמות המארחים המשויכים.
#באמצעות ה-API
השתמשו בנקודת הקצה List Hostname Associations כאשר פרמטר השאילתה mtls_certificate_id מוגדר למזהה התעודה של ה-CA שהועלה.
הרשאות API token נדרשות
נדרשת לפחות אחת מהרשאות הטוקן הבאות:
SSL and Certificates WriteSSL and Certificates Read
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/certificate_authorities/hostname_associations?mtls_certificate_id=ID_FROM_STEP_2" \
--request GET \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"