# ٹائم اسٹیمپس

Canonical page: https://phishdestroy.github.io/TgWitness/ur/docs/reference/timestamp/

RFC 3161 ٹائم اسٹیمپس دستخط شدہ چیک پوائنٹس کے لیے: اتھارٹی کو کیا بھیجا جاتا ہے اور جواب کیسے تصدیق کیا جاتا ہے۔

TgWitness RFC 3161 درخواستیں تیار کرتا ہے اور ٹائم اسٹیمپ اتھارٹی (TSA) کے جوابات کی تصدیق کرتا ہے۔ یہ دستی طریقہ کار نہ تو TSA کا انتخاب کرتا ہے اور نہ ہی ڈیٹا جمع کرواتا ہے؛ ثبوت موڈ شیڈول ([ثبوت فارمیٹ](https://phishdestroy.github.io/TgWitness/ur/docs/reference/evidence/#rfc-3161-preparation-and-response-verification-02)) کے مطابق دونوں کام کرتا ہے۔ ایک تیار شدہ درخواست **ابھی ٹائم اسٹیمپ ثبوت نہیں** ہوتی۔

## ثبوت کیا باندھتا ہے

دھارے کا خاکہ · اکاؤنٹ مشاہدات → SHA-256 چین اور Ed25519 دستخط; SHA-256 چین اور Ed25519 دستخط → مصنوعی سنگ میل; مصنوعی سنگ میل → ایکسیکٹ بائٹ ہیش اور بے ترتیب نونس; ایکسیکٹ بائٹ ہیش اور بے ترتیب نونس → RFC 3161 کی درخواست; RFC 3161 کی درخواست → آزاد ٹی ایس اے; آزاد ٹی ایس اے → دستخط شدہ TSA جواب; مصنوعی سنگ میل → ڈیٹا، نونس اور واضح CA ٹرسٹ کی تصدیق کریں; دستخط شدہ TSA جواب → ڈیٹا، نونس اور واضح CA ٹرسٹ کی تصدیق کریں · اکاؤنٹ مشاہدات · SHA-256 چین اورEd25519 دستخط · مصنوعی سنگ میل · ایکسیکٹ بائٹ ہیش اوربے ترتیب نونس · RFC 3161 کی درخواست · آزاد ٹی ایس اے · دستخط شدہ TSA جواب · ڈیٹا، نونس اور واضح CAٹرسٹ کی تصدیق کریں

**ڈایاگرام بطور متن**

1. اکاؤنٹ مشاہدات → SHA-256 چین اور Ed25519 دستخط
2. SHA-256 چین اور Ed25519 دستخط → مصنوعی سنگ میل
3. مصنوعی سنگ میل → ایکسیکٹ بائٹ ہیش اور بے ترتیب نونس
4. ایکسیکٹ بائٹ ہیش اور بے ترتیب نونس → RFC 3161 کی درخواست
5. RFC 3161 کی درخواست → آزاد ٹی ایس اے
6. آزاد ٹی ایس اے → دستخط شدہ TSA جواب
7. مصنوعی سنگ میل → ڈیٹا، نونس اور واضح CA ٹرسٹ کی تصدیق کریں
8. دستخط شدہ TSA جواب → ڈیٹا، نونس اور واضح CA ٹرسٹ کی تصدیق کریں

جمع کرنے والے کے دستخط ریکارڈز کو اس کی کلید سے منسلک کرتے ہیں۔ ایک قابلِ اعتماد TSA جواب یہ ثابت کر سکتا ہے کہ ایک مخصوص چیک پوائنٹ TSA کے بیان کردہ وقت پر موجود تھا۔ چیک پوائنٹ پھر جرنل کے پری فکس کو منسلک کر سکتا ہے۔ یہ ہر ٹیلیگرام ایکشن کے وقت یا حاصل کردہ مواد کی صداقت کو ثابت نہیں کرتا۔

## طریقہ کار

1. جمع کرنے والی کلید کے فنگر پرنٹ کو ایک الگ قابلِ اعتماد چینل کے ذریعے محفوظ رکھیں۔ ایک کلید جو صرف معائنہ شدہ ZIP فراہم کرتی ہے، جمع کرنے والے کی شناخت کے لیے ناکافی ہے۔
2. **Exports → Prepare timestamp request** میں، منتخب کردہ ورک اسپیس کا request ZIP ڈاؤن لوڈ کریں۔ `checkpoint.json`، `timestamp.tsq`، `SHA256SUMS` اور `README.txt` نکالیں۔ چیک پوائنٹ بائٹس کو تبدیل نہ کریں۔
3. تحقیق کے لیے مناسب TSA منتخب کریں۔ اس کے دستاویزی طریقہ کار کے مطابق `timestamp.tsq` جمع کروائیں، HTTP سروس کے لیے `application/timestamp-query` استعمال کریں۔ اصل بائنری جواب کو `timestamp.tsr` کے طور پر محفوظ کریں، ساتھ ہی اینڈ پوائنٹ، بازیابی کا وقت اور درخواست کے نتائج۔ درخواست میں پیغامات کی بجائے ہیش اور نونس شامل ہیں؛ نیٹ ورک میٹا ڈیٹا اب بھی درخواست کو ظاہر کرتا ہے۔
4. جواب سے قطع نظر قابلِ اعتماد روٹ سرٹیفیکیٹ حاصل کریں، نیز درکار تمام درمیانی سرٹیفیکیٹس۔ جواب میں شامل سرٹیفیکیٹ صرف اس لیے قابلِ اعتماد نہیں ہوتا کہ اسے وہاں شامل کیا گیا ہے۔
5. ایک معتبر TgWitness تنصیب سے تصدیق کریں:

```
python -m tgwitness.anchor verify --checkpoint checkpoint.json --request timestamp.tsq --response timestamp.tsr --ca trusted-tsa-root.pem
```

ضرورت پڑنے پر `--intermediates tsa-intermediates.pem` یا `--openssl /path/to/openssl` شامل کریں۔ OpenSSL کو `ts` کی حمایت کرنی چاہیے۔ ونڈوز پر ویریفائر معیاری Git انسٹالیشن کو بھی تلاش کرتا ہے۔ OpenSSL 3.5.9 کو ایک مصنوعی CA/TSA کے ساتھ مقامی طور پر آزمایا گیا تھا۔

1. چیک پوائنٹ کے بعد دستخط شدہ جرنل کا ZIP ایکسپورٹ کریں تاکہ اس میں وہ پری فکس شامل ہو۔ آزادانہ طور پر معلوم فنگر پرنٹ استعمال کرتے ہوئے تصدیق کریں:

```
python tgwitness/verify.py evidence.zip --fingerprint TRUSTED_SHA256 --checkpoint checkpoint.json
```

1. ZIP فائل، چیک پوائنٹ، درخواست، جواب، سرٹیفیکیٹ چین، تصدیقی نتائج اور ہینڈ آف ریکارڈ کو کلیکٹر کے باہر محفوظ رکھیں۔ وصولی پر دوبارہ تصدیق کریں۔

محفوظ شدہ چیک پوائنٹ سے درخواست تیار کرنے کے لیے:

```
python -m tgwitness.anchor prepare checkpoint.json --out timestamp-request.zip
```

تیاری JSON کو معیاری شکل دیتی ہے اور آرکائیو میں متعلقہ چیک پوائنٹ شامل کرتی ہے۔ TSA تصدیق کے لیے **اس آرکائیو کے چیک پوائنٹ بائٹس** استعمال کریں، چاہے ان پٹ فائل میں وائٹ اسپیس مختلف ہی کیوں نہ ہو۔

## تصدیق کی حدود

| چیک | موجودہ رویہ |
| --- | --- |
| ڈیٹا | درست چیک پوائنٹ بائٹس کا SHA-256 جواب سے میل کھانا چاہیے۔ |
| درخواست | `--request` کے ساتھ، اصل استفسار اور نانسی کی تصدیق کی جاتی ہے۔ |
| TSA دستخط | OpenSSL دستخط اور واضح CA تک چین کی تصدیق کرتا ہے۔ |
| کلیکٹر دستخط | الگ طور پر جرنل ویریفائر کے ذریعے ایک پن کیے گئے کلید کے ساتھ تصدیق شدہ |
| منسوخی | OCSP/CRL کی خودکار بازیافت نہیں |
| طویل مدتی صداقت | سرٹیفیکیٹ کی میعاد ختم ہونے کے بعد کوئی آرکائیول توثیق نہیں |
| شیڈول شدہ جمع کروائی | ثبوت موڈ، بطورِ ڈیفالٹ بند |

`--request` تکنیکی طور پر اختیاری ہے، لیکن اسے چھوڑنے سے اصل نونس کی تصدیق نہیں ہو پاتی۔ اس مکمل طریقہ کار کے لیے، نتیجے کا `request_checked` درست ہونا چاہیے۔ سرٹیفیکیٹ کی تصدیق انسٹال شدہ OpenSSL کے قواعد اور تصدیقی وقت کی پیروی کرتی ہے۔ طویل مدتی محفوظ کاری کے لیے ایک علیحدہ سرٹیفیکیٹ/ردِ عمل کے ثبوت کی پالیسی کی ضرورت ہوتی ہے۔

ایک درست کرپٹوگرافک دستخط خود بخود معیاری ٹائم اسٹیمپ یا قانونی قابلِ قبولیت کا تعین نہیں کرتا۔ اگر آپریٹر نے ٹائم اسٹیمپ کرنے سے پہلے مشاہدات وضع کیے ہوں، تو TSA ان بائٹس کو لنگر انداز کرتا ہے؛ یہ ان کی صداقت ثابت نہیں کرتا۔

## ہینڈ آف ریکارڈ

کیس شناختی نمبر، بھیجنے والا اور وصول کنندہ، UTC منتقلی کا وقت اور اس کا ماخذ، مقصد، فائل کے نام/SHA-256 اقدار، کلیکٹر کے فنگر پرنٹ، ترتیب کی حد، معلوم خلا، تصدیق کنندہ کا ورژن اور تصدیق کے نتائج ریکارڈ کریں۔ اس ریکارڈ پر دستخط کریں اور اسے اپنی تنظیم کے عمل کے ذریعے آزادانہ طور پر محفوظ رکھیں۔ TgWitness میں کثیر صارف تحویل ریکارڈ سسٹم نافذ نہیں کیا گیا ہے۔

تعمیر کے دوران کسی آزاد لائیو TSA سے رابطہ نہیں کیا گیا۔ مقامی ٹیسٹ مطابقت اور تبدیل شدہ ڈیٹا، نونس یا CA کی مستردگی کی جانچ کے لیے ایک مصنوعی CA/TSA بناتے ہیں۔
