INTEGER (Sertifika Kayıt API'si)

Tamsayı değerleri, Etiketi değeri 0x02 ile başlayan bir TLV üçlüsünün içine kodlanır. TLV üçlüsünün Değeri alanı, pozitifse kodlanmış tamsayıyı veya negatifse ikisinin tamamlayıcısını içerir. Tamsayı pozitifse ancak yüksek sıralı bit 1 olarak ayarlandıysa, sayın negatif olmadığını belirtmek için içeriğe bir baştaki 0x00 eklenir. Örneğin, 0x8F yüksek sıralı bayt (10001111) 1'dir. Bu nedenle, aşağıdaki çizimde gösterildiği gibi içeriğe baştaki sıfır bayt eklenir.

Boole veri türüder kodlaması

Tamsayı 128 bayttan az içeriyorsa, Uzunluğu alanı içerik uzunluğunu belirtmek için yalnızca bir bayt gerektirir. Tamsayı 127 bayttan fazlaysa, Uzunluğu alanının 7. biti 1 olarak ayarlanır ve bit 6 ile 0 arasında, içerik uzunluğunu tanımlamak için kullanılan ek bayt sayısını belirtin. Daha fazla bilgi için bkz. Kodlanmış Uzunluk ve Değer Baytları.

Aşağıdaki örnek, PKCS #10 Kodlanmış ASN.1128 baytlık ortak anahtarın kodlamasını gösterir. İlk bayt, 0x02 INTEGER veri türü için Etiketi değerini içerir. İkinci ve üçüncü baytlar Uzunluğu değerini içerir. 127 bayttan fazla içerik olduğundan ikinci baytın 7. biti 1 olarak ayarlanır. İkinci baytın 0 ile 6 arasında bitleri, içerik uzunluğunu doğru bir şekilde belirtmek için gereken sondaki bayt sayısını (bu örnekte bir) belirtir. Üçüncü bayt, 0x81 içerik baytlarının sayısını belirtir. Dördüncü bayt olan 0x00, baştaki içerik baytının (0x8F) işaret biti 1 olarak ayarlanmış olsa bile tamsayının gerçekten pozitif bir değer olduğunu belirtmek için içeriğe eklenir.

02 81 81          ; INTEGER (81 Bytes)
|  00
|  8f e2 41 2a 08 e8 51 a8  8c b3 e8 53 e7 d5 49 50
|  b3 27 8a 2b cb ea b5 42  73 ea 02 57 cc 65 33 ee
|  88 20 61 a1 17 56 c1 24  18 e3 a8 08 d3 be d9 31
|  f3 37 0b 94 b8 cc 43 08  0b 70 24 f7 9c b1 8d 5d
|  d6 6d 82 d0 54 09 84 f8  9f 97 01 75 05 9c 89 d4
|  d5 c9 1e c9 13 d7 2a 6b  30 91 19 d6 d4 42 e0 c4
|  9d 7c 92 71 e1 b2 2f 5c  8d ee f0 f1 17 1e d2 5f
|  31 5b b1 9c bc 20 55 bf  3a 37 42 45 75 dc 90 65

Aşağıdaki örnekte 0x03 tamsayı değerinin nasıl kodlanmış olduğu gösterilmektedir. Etiketi bayt 0x02 içerir ve Uzunluğu bayt bir bayt içerik olduğunu belirtir.

02 01             ; INTEGER (1 Bytes)
|  03

ASN.1 Tür Sistemi

ASN.1 Türlerinin DER Kodlaması