CONTAINERS-TLS-DETAILS.YAML(5) details CONTAINERS-TLS-DETAILS.YAML(5)
Miloslav Trmač February 2026

containers-tls-details.yaml - ساختار و نحو فایل پارامترهای جزئیات TLS در کتابخانه‌های کانتینر

فایل پارامترهای جزئیات TLS توسط پروژه‌های مختلفی که از کتابخانه‌های go.podman.io/* استفاده می‌کنند، پذیرفته می‌شود. هیچ مسیر پیش‌فرضی برای این فایل‌ها وجود ندارد؛ آن‌ها توسط کاربر مدیریت می‌شوند و مسیر آن‌ها از طریق خط فرمان ارائه می‌گردد، مانند skopeo --tls-details=details-file.yaml copy ….

گزینه --tls-details و این قالب فایل، به‌ندرت باید مورد استفاده قرار گیرند. اگر از این سازوکار استفاده نشود، نرم‌افزار به صورت پیش‌فرض مقادیر مناسبی را به کار می‌گیرد که ممکن است در طول زمان، بسته به نسخه نرم‌افزار، نسخه کتابخانه استاندارد Go یا پیکربندی پلتفرم (مانند مقادیر GODEBUG یا احتمالاً crypto-policies(7)) تغییر کنند.

این گزینه‌ها فقط برنامه‌هایی را تحت تأثیر قرار می‌دهند که گزینه --tls-details را فراهم کرده‌اند؛ آن‌ها بر سایر فایل‌های اجرایی (مانند git(1) یا ssh(1)) که ممکن است در پس‌زمینه برای انجام عملیات دیگری اجرا شوند، تأثیری ندارند.

کاستی‌ها و شکاف‌های شناخته‌شده‌ای در پیاده‌سازی این گزینه‌ها وجود دارد. امیدواریم در طول زمان این موارد رفع شوند، اما در این مدت، آزمایش دقیق ویژگی به ویژگی توصیه می‌شود. شکاف‌های شناخته‌شده شامل عملیات شبکه‌ای انجام‌شده هنگام ایجاد امضاهای sigstore (ارتباط با Rekor، سرورهای OIDC و Fulcio) است.

فایل‌های جزئیات TLS از قالب YAML استفاده می‌کنند. تمام فیلدها اختیاری هستند.

  • minVersion

    حداقل نسخه TLS مورد استفاده در سراسر برنامه. در صورت عدم تنظیم، به یک مقدار پیش‌فرض معقول بازمی‌گردد که ممکن است در طول زمان تغییر کند.

    کاربران معمولاً نباید از این گزینه استفاده کرده و نسخه‌ای را به صورت ثابت (hard-code) تعیین کنند، مگر اینکه فرآیندی برای اطمینان از به‌روز ماندن این مقدار داشته باشند.

  • cipherSuites

    مجموعه رمزهای (cipher suites) مجاز TLS برای استفاده در سراسر برنامه. مقدار آن آرایه‌ای از نام‌های سوئیت‌های رمز IANA TLS است.

    در صورت عدم تنظیم، به مقدار پیش‌فرض معقولی بازمی‌گردد که ممکن است به مرور زمان تغییر کند؛ اگر بر روی یک آرایه خالی تنظیم شود، استفاده از تمام سوئیت‌های رمز را ممنوع می‌کند.

    هشدار: تقریباً هیچ‌کس نباید هرگز از این گزینه استفاده کند. تنها در صورتی از آن استفاده کنید که رویه‌های بوروکراتیک الزام‌آوری داشته باشید که لیست مشخصی را طلب کند، و مطمئن باشید که این ساختار سال‌ها بعد نیز همچنان وجود خواهد داشت و در صورت لزوم لیست به‌روزی را در اختیارتان قرار می‌دهد.

    هشدار: اثربخشی این گزینه توسط قابلیت‌های کتابخانه استاندارد Go محدود شده است؛ به عنوان مثال، از نسخه Go 1.25، تغییر اینکه کدام سوئیت‌های رمز در TLS 1.3 استفاده شوند امکان‌پذیر نیست.

  • namedGroups

    گروه‌های نام‌گذاری‌شده (named groups) مجاز TLS برای استفاده در سراسر برنامه. مقدار آن آرایه‌ای از نام‌های گروه‌های پشتیبانی‌شده در IANA TLS است.

    در صورت عدم تنظیم، به یک مقدار پیش‌فرض منطقی بازمی‌گردد که ممکن است به مرور زمان تغییر کند.

    هشدار: تقریباً هیچ‌کس نباید هرگز از این گزینه استفاده کند. تنها زمانی از آن استفاده کنید که ساختار بوروکراتیکی وجود داشته باشد که فهرست خاصی را الزام کند، و اطمینان داشته باشید که این ساختار سال‌ها بعد نیز باقی خواهد ماند و فهرست به‌روزشده را در صورت نیاز به شما ارائه خواهد داد.

minVersion: "1.2"
cipherSuites:
  - "TLS_AES_128_GCM_SHA256"
  - "TLS_CHACHA20_POLY1305_SHA256"
namedGroups:
  - "secp256r1"
  - "secp384r1"
  - "x25519"

buildah(1), podman(1), skopeo(1)

container-libs TLS