Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Nilai bilangan bulat dikodekan ke dalam triplet TLV yang dimulai dengan nilai Tag 0x02. Bidang Nilai dari triplet TLV berisi bilangan bulat yang dikodekan jika positif, atau pelengkap keduanya jika negatif. Jika bilangan bulat positif tetapi bit urutan tinggi diatur ke 1, 0x00 di depan ditambahkan ke konten untuk menunjukkan bahwa angka tersebut tidak negatif. Misalnya, byte urutan tinggi 0x8F (10001111) adalah 1. Oleh karena itu, byte nol di depan ditambahkan ke konten seperti yang ditunjukkan dalam ilustrasi berikut.
Jika bilangan bulat berisi kurang dari 128 byte, bidang Panjang hanya memerlukan satu byte untuk menentukan panjang konten. Jika bilangan bulat lebih dari 127 byte, bit 7 dari bidang Panjang diatur ke 1 dan bit 6 hingga 0 tentukan jumlah byte tambahan yang digunakan untuk mengidentifikasi panjang konten. Untuk informasi selengkapnya, lihat Panjang dan Byte Nilai yang Dikodekan.
Contoh berikut, dari PKCS #10 Encoded ASN.1, memperlihatkan pengodean untuk kunci publik 128 byte. Byte pertama berisi nilai Tag untuk jenis data BILANGAN BULAT, 0x02. Byte kedua dan ketiga berisi nilai Panjang. Bit 7 dari byte kedua diatur ke 1 karena ada lebih dari 127 byte konten. Bit 0 hingga 6 byte kedua menentukan jumlah byte berikutnya yang diperlukan, dalam hal ini satu, untuk menentukan panjang konten secara akurat. Byte ketiga menentukan jumlah byte konten, 0x81. Byte keempat, 0x00, ditambahkan ke konten untuk menunjukkan bahwa bilangan bulat memang merupakan nilai positif meskipun bit tanda byte konten terkemuka (0x8F) diatur ke 1.
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
Contoh berikut menunjukkan bagaimana nilai bilangan bulat 0x03 dikodekan. Byte Tag berisi 0x02, dan byte Panjang menentukan bahwa ada satu byte konten.
02 01 ; INTEGER (1 Bytes)
| 03
Topik terkait
-
Pengodean DER Jenis ASN.1