3P English نوشتن را شروع کن

برای سازمان‌ها

تأیید یک یادداشت

کسی از شما می‌خواهد یک چیز را تأیید کنید: دوره‌ای که گذرانده، اجاره‌ای که پرداخته، کاری که داشته. شما همان یک یادداشت را با کلیدی که روی دامنه‌ی خودتان منتشر کرده‌اید تأیید می‌کنید. دفترش پیش خودش می‌ماند.

امضای تأیید فقط وقتی پذیرفته است که کلیدش روی دامنه‌ی خود شما منتشر شده باشد.

چهار گام

  1. ۱

    آن آدم یک یادداشت را به شما نشان می‌دهد

    یادداشتی را که باید تأیید شود و اثر محتوایش (hash) را نشان می‌دهد. نه دفترش را، و نه هیچ یادداشت دیگری را.

  2. ۲

    شما همان اثر را امضا می‌کنید

    با کلیدی که در https://<your domain>/.well-known/3p-keys.json منتشر می‌کنید. امضای تأیید (3p.countersign/1) روی اثر همان یادداشت و هویت همان آدم است، و دامنه‌ی شما و شناسه‌ی کلید را نام می‌برد.

  3. ۳

    آن آدم بعد از شما کارتش را امضا می‌کند

    امضای تأیید شما اول در یادداشت می‌نشیند. امضای او بعد روی آن می‌آید، پس بی‌آنکه کارت بشکند نمی‌شود برداشتش یا جابه‌جایش کرد.

  4. ۴

    هر کسی می‌تواند بررسی کند

    بررسی‌کننده پرونده‌ی کلید دامنه‌ی شما را می‌گیرد و کلید، کاربرد و تاریخ‌هایش را می‌سنجد. بعد می‌گوید «با کلیدی که در <your domain> منتشر شده تأیید شده است». این همان دامنه‌ای است که از آن گرفته، هرگز نامی که کارت برای خودش ادعا می‌کند.

امتحان یک کارت تأییدشده

در بررسی‌کننده، نمونه‌ی Countersigned را انتخاب کنید. یک دوره‌ی ساختگی است که با کلید نمایشیِ همین سایت تأیید شده است.

پرونده‌ی کلید

قالب 3p.domain-keys/1، دقیقاً در /.well-known/3p-keys.json روی دامنه‌ی شما، با HTTPS و با Access-Control-Allow-Origin: * تا بررسی‌کننده‌ی درون مرورگر بتواند بخواندش. فقط همان دامنه‌ی دقیق پذیرفته است: نه زیردامنه، و نه تغییر مسیر به میزبانی دیگر.

نمایشی این همان پرونده‌ی واقعیِ 3rdpersona.com/.well-known/3p-keys.json است. هیچ مؤسسه‌ای را نشان نمی‌دهد و چیز واقعی‌ای را تأیید نمی‌کند.

{
  "format": "3p.domain-keys/1",
  "domain": "3rdpersona.com",
  "keys": [
    {
      "kid": "demo-2026",
      "jwk": {
        "crv": "P-256",
        "kty": "EC",
        "x": "Ug-XJSfB-wzSnaLLWM_UdAHJtcbvsPI9aoRNQxU6vuI",
        "y": "wqF1mLltHUcCUJezV58_XPg0aYHRPIw-rva8xFqIM5M"
      },
      "purpose": [
        "countersign"
      ],
      "valid_from": "2026-10-01",
      "valid_until": null,
      "demo": true
    }
  ],
  "retired": [],
  "revoked": [],
  "note": "DEMO KEY. 3rdpersona.com publishes this key so anyone can try a countersigned packet in the verifier. It identifies no institution and vouches for nothing real."
}

فرمان‌ها

از domain_keys.py در نود 3P. فقط پایتون ۳ و openssl لازم دارد.

# 1. Make the key file (creates inst-key.pem if it does not exist; keep that file off the web server)
python3 domain_keys.py keyfile example.org inst-key.pem --kid 2026-registrar > 3p-keys.json
#    then host it at https://example.org/.well-known/3p-keys.json, with Access-Control-Allow-Origin: *

# 2. Countersign entry f1 of a card the person has NOT signed yet
python3 domain_keys.py countersign packet.json f1 --domain example.org --kid 2026-registrar --key inst-key.pem

# 3. Check every countersignature in a card, online
python3 domain_keys.py check packet.json

تأیید کارتی که از پیش امضا شده رد می‌شود: امضای آن آدم باید بعد از امضای شما بیاید.

آنچه پذیرفته نیست

این‌ها هم رد می‌شوند: کلید باطل‌شده، کلیدی که برای countersign فهرست نشده، و تاریخی بیرون از اعتبار کلید. اگر پرونده‌ی شما در دسترس نباشد، بررسی‌کننده می‌گوید آن دامنه را ادعا می‌کند ولی آنلاین بررسی نشده؛ نه می‌پذیرد و نه رد می‌کند.

آنچه بررسی به شما می‌گوید

بررسی‌کننده پرونده‌ی کلید شما را از مرورگر خودِ خواننده می‌گیرد، هر بار که کارتی را بررسی می‌کند. پس سرور شما می‌فهمد که کارتی که ادعای تأیید شما را دارد در حال بررسی است، کی، و از کدام نشانی. خود کارت در این درخواست نیست.

دفترت را شروع کن.

نوشتن را شروع کن