# Protokol Bilgileri

TLV (Tag-Length-Value) protokolü, verileri yapılandırılmış bir şekilde depolamak ve taşımak için kullanılan bir veri kodlama şemasını ifade eder. Bu protokolde, veriler TLV paketleri adı verilen birimlere ayrılmıştır. Her TLV paketi üç bileşen içerir: Tür (Type), Uzunluk (Length) ve Değer (Value).

* **Type (Tag):** Bu, değer alanında bulunan verinin türünü tanımlayan 2 baytlık bir tanımlayıcıdır.
* **Length:** Bu, değer alanında bulunan verinin uzunluğunu tanımlayan 4 baytlık bir tanımlayıcıdır.
* **Value:** Bu, değer alanında bulunan verinin kendisin tanımlayan boyutu değişebilen bir tanımlayıcıdır.

Protokolümüzde veri bütünlüğünü sağlamak amacı ile tüm TLV ile iletilen verilerde belirli bir şema kullandık. Bu şemaya göre veri akışın TLV Başlangıç Paketi - TLV Veri Paketi - TLV Bitiş Paketi  şeklinde sağlıyoruz böylece aradaki bozulmaları engellemiş ve eksik paketleri tespit edebilmiş oluyoruz. Aynı zamanda her TLV paketinin sonunda bir checksum ile veri bütünlüğünü kontrol ediyoruz.

Paketlerin hepsi sıkıştırılmış ve şifrelenmiş halde gönderiliyor. Şifreleme PC tarafından handshake adımları bittikten sonra oluşan anahatar ile sağlanıyor. Handshake'in detayları aşağıda bulunmaktadır.

Protokolümüzde, cihaz güvenliği ve doğrulamasını sağlamak için bir yöntem uygulanmıştır. Süreç, PC'den ÖKC'ye bir mesaj gönderilmesiyle başlar. ÖKC, bu mesajı cihaz sertifikasıyla imzalar. İmzalama işleminden sonra, ÖKC cihaz sertifikasını PC ile paylaşır. PC, gönderilen mesajın sağlanan sertifika ile oluşturulabileceğini doğrulamak için sertifikanın açık anahtarını ve ECDSA (Eliptik Eğri Dijital İmza Algoritması) kullanır. Bu doğrulama adımı, cihazın geçerli olduğunu onaylar ve iletişime güvenle devam etmemize olanak tanır. Doğrulamada bir sorun varsa, iletişime devam edilmez.

<figure><img src="/files/RuVbYxQidY1iEjy08Cms" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.tokeninc.com/token-developer-portal-1/x-platform/token-x-connect-wire/protokol-bilgileri.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
