Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der

DER-ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» X.509

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der. Π€ΠΎΡ‚ΠΎ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der

DER (Distinguished Encoding Rules) для ASN.1, ΠΊΠ°ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ Π² Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ITU-T Recommendation X.509, β€” Π±ΠΎΠ»Π΅Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΉ стандарт кодирования, Ρ‡Π΅ΠΌ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ BER (Basic Encoding Rules) для ASN.1, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ITU-T Recommendation X.209, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ основан DER. И BER, ΠΈ DER ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ нСзависимый ΠΎΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ кодирования ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ сСртификаты ΠΈ сообщСния, для трансмиссии ΠΌΠ΅ΠΆΠ΄Ρƒ устройствами ΠΈ прилоТСниями.

ΠŸΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ сСртификата Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ стандарт DER, Ρ‚. ΠΊ. сСртификат (свСдСния ΠΎ запросС сСртификата) Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ DER ΠΈ подписан.

Base64-ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ X.509

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ кодирования создан для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠΌ S/MIME, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ популярСн ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. Base64 ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Π°ΠΉΠ»Ρ‹ Π² тСкстовый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ASCII, ΠΏΡ€ΠΈ этом Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· шлюз, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ S/MIME ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ криптографичСскими слуТбами бСзопасности для элСкронных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ сообщСний, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ происходСния ΠΈ использованиС Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй, ΡΠ΅ΠΊΡ€Π΅Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠΏΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ кодирования, процСсса ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ подлинности ΠΈ нСвозмоТности отрицания авторства сообщСний.

MIME (Multipurpose Internet Mail Extensions) спСцификации (RFC 1341 and successors) опрСдСляСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ кодирования ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ X.690: BER, CER ΠΈ DER

X.690 β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· стандартов ASN.1, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Ρ… совмСстно организациями ISO, IEC ΠΈ ITU-T для удобства прСдставлСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΈΡ… ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π² Ρ‚Π΅Π»Π΅ΠΊΠΎΠΌΠΌΡƒΠ½ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… сСтях. ΠŸΡ€Π°Π²ΠΈΠ»Π° кодирования, описанныС Π² X.690, слуТат для прСдставлСния структур Π΄Π°Π½Π½Ρ‹Ρ…, описанных ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ASN.1, Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Π±Π°ΠΉΡ‚. Π’Π°ΠΊΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎ линиям связи ΠΈΠ»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Ρ‹, Ρ‡Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с самими структурами.

ΠŸΡ€Π°Π²ΠΈΠ»Π° кодирования, описанныС Π² X.690 ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°Ρ… ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π² криптографичСских ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°Ρ…, ΠΊΠ°ΠΊ-Ρ‚ΠΎ: SMNP ΠΈ LDAP, PKCS#7 (для кодирования сообщСний), X.509 (для хранСния сСртификатов). Π’ частности, Π² стандартС CMS (RFC #5652) говорится, Ρ‡Ρ‚ΠΎ сообщСниС Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ DER (описаны Π² X.690). Однако Π΅Π΄ΠΈΠ½ΠΎΠΉ кроссплатформСнной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€Π°Π²ΠΈΠ» кодирования Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· языков программирования, описанных Π² стандартС X.690, Π½Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ПО часто приходится Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для кодирования Π΄Π°Π½Π½Ρ‹Ρ… Π² соотвСтствии с X.690. И Ρ‚ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: ΠΎΡ‡Π΅Π½ΡŒ слоТно Π½Π°ΠΉΡ‚ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅ ΠΈ понятноС описаниС стандарта ΠΈ ΠΏΡ€Π°Π²ΠΈΠ» кодирования Π½Π° русском языкС.

БобствСнно, Π·Π°Π΄Π°Ρ‡Π° этой ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” Π΄Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ описаниС.

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ X.690 описываСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования структур Π΄Π°Π½Π½Ρ‹Ρ…, созданных Π² соотвСтствии с ASN.1: BER (Basic Encoding Rules), CER (Canonical Encoding Rules), DER (Distinguished Encoding Rules). РазбСрСмся с этими ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅.

Basic Encoding Rules

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования ΠΈΠ»ΠΈ BER β€” ΠΏΡ€Π°Π²ΠΈΠ»Π° для прСдставлСния структуры, описанной с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ASN.1, Π² Π²ΠΈΠ΄Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π°ΠΉΡ‚ (ΠΈΠ»ΠΈ Β«ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ²Β»). Π’Π°ΠΊΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎ линиям связи ΠΈΠ»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² Ρ„Π°ΠΉΠ», Ρ‡Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π΅ ΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с самими структурами.

Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ схоТим ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π² X.690 Π±Ρ‹Π»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° общая структура Π±Π»ΠΎΠΊΠ° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, состоящая ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… 3 частСй:

Рассмотрим ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ эти части:

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° строго фиксирован:

Π‘ΠΈΡ‚Ρ‹ 8 ΠΈ 7 ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ класс Π΄Π°Π½Π½Ρ‹Ρ… (Universal (Ρ‚.Π΅. ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² ASN.1), Application (Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΊΠ°ΠΊΠΎΠΌ-Ρ‚ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ), Context-specific (Ρ‚.Π΅. зависящий ΠΎΡ‚ контСкста)* ΠΈΠ»ΠΈ Private (Ρ‚.Π΅. ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ спСцификации ASN.1));

Π‘ΠΈΡ‚ 6 опрСдСляСт, являСтся Π»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ простыми (ΠΊΠ°ΠΊ-Ρ‚ΠΎ INTEGER), ΠΈΠ»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² сСбС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΊΠ°ΠΊ-Ρ‚ΠΎ SET). ΠŸΡ€ΠΈ этом Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ случаС говорят ΠΎ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ β€” ΠΎ конструктивном.

Π‘ΠΈΡ‚Ρ‹ 5-1 ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ тэг Π΄Π°Π½Π½Ρ‹Ρ… (ΠΈΡ… Ρ‚ΠΈΠΏ).

Π’ случаС Ссли класс Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ Π² ASN.1, Ρ‚ΠΎ тэг ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС 30. Π’ Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ нСсколько ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² для прСдставлСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. ΠŸΡ€ΠΈ этом Π±ΠΈΡ‚Ρ‹ 5-1 ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΎΠΊΡ‚Π΅Ρ‚Π° ΠΈΠΌΠ΅ΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 11111(2), Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΡ‚Π΅Ρ‚Ρ‹, ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π‘ΠΈΡ‚ 8 Π²ΠΎ всСх ΠΎΠΊΡ‚Π΅Ρ‚Π°Ρ…, ΠΊΡ€ΠΎΠΌΠ΅ послСднСго Ρ€Π°Π²Π΅Π½ 1. Π’ послСднСм ΠΎΠΊΡ‚Π΅Ρ‚Π΅ Π΄Π»ΠΈΠ½Ρ‹ Π±ΠΈΡ‚ 8 Ρ€Π°Π²Π΅Π½ 0;

Π‘ΠΈΡ‚Ρ‹ с 1 ΠΏΠΎ 7 этих ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² содСрТат Π±ΠΈΡ‚Ρ‹ тэга Π² Π΅Π³ΠΎ Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ прСдставлСнии.

ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ Π΄Π»ΠΈΠ½Ρ‹ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…:

Π’ случаС, Ссли Π΄Π»ΠΈΠ½Π° Π±Π»ΠΎΠΊΠ° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°Ρ€Π°Π½Π΅Π΅ извСстна, ΠΎΠΊΡ‚Π΅Ρ‚Ρ‹ Π΄Π»ΠΈΠ½Ρ‹ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Если эта Π΄Π»ΠΈΠ½Π° Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ 31 Π±Π°ΠΉΡ‚Π°, Ρ‚ΠΎ ΠΎΠ½Π° просто записываСтся Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΊΡ‚Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρ‹. Вакая Ρ„ΠΎΡ€ΠΌΠ° прСдставлСния ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² Π΄Π»ΠΈΠ½Ρ‹ называСтся ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ (primitive).

Если Π΄Π»ΠΈΠ½Π° Π±Π»ΠΎΠΊΠ° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… большС 31 Π±Π°ΠΉΡ‚Π°, Ρ‚ΠΎ:

Вакая Ρ„ΠΎΡ€ΠΌΠ° прСдставлСния ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² Π΄Π»ΠΈΠ½Ρ‹ называСтся Π΄Π»ΠΈΠ½Π½ΠΎΠΉ (long)

Если ΠΆΠ΅ Π΄Π»ΠΈΠ½Π° Π±Π»ΠΎΠΊΠ° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ кодирования Π΄Π»ΠΈΠ½Ρ‹ нСизвСстна, Ρ‚ΠΎ Π² ΠΎΠΊΡ‚Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρ‹ записываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0Γ—80h, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½ΠΎΠΉ. Π’ этом случаС Π² ΠΊΠΎΠ½Ρ†Π΅ Π±Π»ΠΎΠΊΠ° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 0Γ—0000h (2 ΠΎΠΊΡ‚Π΅Ρ‚Π°), явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π½Π° Π΅Π³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ структур Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²:

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ ΠΈ доступно описано Π² стандартС X.690 ΠΈ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈ использовании Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ. ΠšΡƒΠ΄Π° больший интСрСс Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ особСнности ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ….

Π’ зависимости ΠΎΡ‚ структуры ΠΈ прСслСдуСмых ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ†Π΅Π»Π΅ΠΉ, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Π’Π°ΠΊ, ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ значСния TRUE Ρ‚ΠΈΠΏΠ° BOOLEAN ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠ°ΠΊ Π²ΠΈΠ΄: 01 01 01, Ρ‚Π°ΠΊ ΠΈ Π²ΠΈΠ΄: 01 01 0F;

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ кодирования Ρ‚ΠΈΠΏΠ° SET ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ порядкС ΠΌΡ‹ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅ΠΌ Β«Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅Β» Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…: Ссли set ::= SET < int, float>; int ::= INTEGER; float ::= REAL, Ρ‚ΠΎ для set <-128, 0.15625>Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ кодирования ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌ: 31 08 02 01 80 09 03 80 FB 05, ΠΈ Ρ‚Π°ΠΊΠΈΠΌ: 31 08 09 03 80 FB 05 02 01 80.

Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΈΠ»ΠΈ конструктивноС ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π΅Π³ΠΎ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Π’Π°ΠΊ для значСния » Test User 1β€³ Ρ‚ΠΈΠΏΠ° STRING ΠΏΡ€ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄: 13 0B 54 65 73 74 20 55 73 65 72 20 31, Π° ΠΏΡ€ΠΈ конструктивном: 33 0F 13 05 54 65 73 74 20 13 06 55 73 65 72 20 31.

Π”Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования стандарта X.690:

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ кодирования ΠΏΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ BER ΠΌΠΎΠΆΠ΅Ρ‚ сущСствСнно Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ. Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ кодирования ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π·Π½Ρ‹Ρ… систСмах Π±Ρ‹Π»ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ, Π±Ρ‹Π»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования DER ΠΈ CER.

Distinguished Encoding Rules:

ΠžΡΠΎΠ±Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования ΠΈΠ»ΠΈ DER ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с BER с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ:

1) для кодирования Π΄Π°Π½Π½Ρ‹Ρ… с извСстной Π΄Π»ΠΈΠ½ΠΎΠΉ количСство ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² Π΄Π»ΠΈΠ½Ρ‹ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ наимСньшим;

2) ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ простых Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… (Π² Ρ‚ΠΎΠΌ числС STRING, OCTET STRING ΠΈ BIT ARRAY) всСгда ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅;

3) для Ρ‚ΠΈΠΏΠ° SET ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² порядкС слСдования ΠΈΡ… Ρ‚Π΅Π³ΠΎΠ² (согласно ASN.1).

Canonical Encoding Rules:

ΠšΠ°Π½ΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования ΠΈΠ»ΠΈ CER ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚ с BER с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ выполнСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ:

1) для составных Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с нСизвСстной Π΄Π»ΠΈΠ½ΠΎΠΉ;

для ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ кодирования количСство ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² Π΄Π»ΠΈΠ½Ρ‹ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ наимСньшим;

2) для Ρ‚ΠΈΠΏΠ° SET ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² порядкС слСдования ΠΈΡ… Ρ‚Π΅Π³ΠΎΠ² (согласно ASN.1).

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ BER, DER ΠΈ CER:

Π’ Ρ‡Π΅ΠΌ ΠΆΠ΅ прСимущСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» кодирования?

BER ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ для кодирования ΠΎΠ΄Π½ΠΈΡ… ΠΈ Ρ‚Π΅Ρ… ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ прСдполагаСтся, Ρ‡Ρ‚ΠΎ систСма, которая ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ стандарты ASN.1, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈΡ… Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Π½Π΅ зависимости ΠΎΡ‚ прСдставлСния, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ DER ΠΈ CER ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ кодирования для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ проявляСтся Π² быстродСйствии кодирования Π΄Π°Π½Π½Ρ‹Ρ…: согласно исслСдованиям, Ссли ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ строго ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚ΠΎ систСмС трСбуСтся для кодирования ΠΈ дСкодирования Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ мСньшС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΡ€ΠΎΡ‰Π΅ говоря, DER ΠΈ CER ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ большСС быстродСйствиС, Ρ‡Π΅ΠΌ BER.

ОсновноС ΠΆΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ DER ΠΎΡ‚ CER Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² DER ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с извСстной Π΄Π»ΠΈΠ½ΠΎΠΉ, Π° Π² CER Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° STRING Π΄Π»ΠΈΠ½ΠΎΠΉ Π±ΠΎΠ»Π΅Π΅ 1000 символов) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ с нСизвСстной Π·Π°Ρ€Π°Π½Π΅Π΅ Π΄Π»ΠΈΠ½ΠΎΠΉ. Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ выраТаСтся Π² количСствС Π±Π»ΠΎΠΊΠΎΠ², Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для кодирования Π΄Π»ΠΈΠ½Ρ‹ Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°ΠΊ, для опрСдСлСния Π΄Π»ΠΈΠ½Ρ‹ Π±Π»ΠΎΠΊΠ° Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ с нСизвСстной Π΄Π»ΠΈΠ½ΠΎΠΉ трСбуСтся всСго 3 ΠΎΠΊΡ‚Π΅Ρ‚Π°, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… сообщСний ΠΏΡ€ΠΈ DER ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡ… количСство ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ 32 ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ². Π’ΠΎ Π΅ΡΡ‚ΡŒ цСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ DER ΠΏΡ€ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ CER β€” для Π±ΠΎΠ»ΡŒΡˆΠΈΡ….

Автор: ΠšΡ€Π°ΡΠ°Π²ΠΈΠ½ А. А.

Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: 01.01.2013

БиблиографичСская ссылка: ΠšΡ€Π°ΡΠ°Π²ΠΈΠ½ А. А. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ X.690: BER, CER ΠΈ DER // КомплСксная Π·Π°Ρ‰ΠΈΡ‚Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠ° ΠΈΠ½Ρ„ΠΎ. ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ XVIII ΠœΠ΅ΠΆΠ΄ΡƒΠ½Π°Ρ€ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈ 21–24 мая 2013 Π³ΠΎΠ΄Π°, БрСст (РСспублика Π‘Π΅Π»Π°Ρ€ΡƒΡΡŒ). 2013. Π‘. 132–133.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° der

Π€ΠΎΡ€ΠΌΠ°Ρ‚ для Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΡ€Π°Π²ΠΈΠ» кодирования опрСдСляСт ΡΠ°ΠΌΠΎΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΈ ΡΠ°ΠΌΠΎΡ€Π°Π·Π³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для кодирования структур Π΄Π°Π½Π½Ρ‹Ρ… ASN.1. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Π΄Π°Π½Π½Ρ‹Ρ… кодируСтся ΠΊΠ°ΠΊ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚ΠΈΠΏΠ°, описаниС Π΄Π»ΠΈΠ½Ρ‹, фактичСскиС элСмСнты Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ, ΠΏΡ€ΠΈ нСобходимости, ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ ΠΊΠΎΠ½Ρ†Π° содСрТимого. Π­Ρ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ кодирования ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ° Π΄Π»ΠΈΠ½Π°-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ TLV-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ позволяСт ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŽ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ASN.1 ΠΈΠ· Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°, Π½Π΅ трСбуя ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅, содСрТании ΠΈΠ»ΠΈ сСмантичСском Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. [1]

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° кодирования

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС:

ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°
Π’ΠΈΠΏ
Π”Π»ΠΈΠ½Π° ΠΎΠΊΡ‚Π΅Ρ‚Ρ‹
Π”Π»ΠΈΠ½Π°
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ²
Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ ΠΊΠΎΠ½Ρ†Π° содСрТимого

ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ ΠΊΠΎΠ½Ρ†Π° содСрТимого ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚ΠΎΠΌ случаС, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. ΠžΠΊΡ‚Π΅Ρ‚ содСрТимого Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡƒΡ‰Π΅Π½, Ссли Π½Π΅Ρ‚ содСрТимого для кодирования, ΠΊΠ°ΠΊ Π² случаС Ρ‚ΠΈΠΏΠ° NULL.

ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°

Π”Π°Π½Π½Ρ‹Π΅ (особСнно элСмСнты ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ, Π½Π°Π±ΠΎΡ€ΠΎΠ² ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π²Ρ‹Π±ΠΎΡ€Π°) ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ Ρ‚Π΅Π³Π° (ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π² ASN.1 Π² ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобках []), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ эти Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов. Π’Π°ΠΊΠΈΠ΅ Ρ‚Π΅Π³ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ нСявными (Π³Π΄Π΅ ΠΎΠ½ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ‚Π΅Π³ TLV значСния вмСсто использования Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² качСствС Ρ‚Π΅Π³Π° TLV) ΠΈΠ»ΠΈ явными (ΠΊΠΎΠ³Π΄Π° Ρ‚Π΅Π³ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² построСнном TLV, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ TLV Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°). Π‘Ρ‚ΠΈΠ»ΡŒ Ρ‚Π΅Π³ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ являСтся явным, Ссли нСявный Π½Π΅ установлСн Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ модуля ASN.1. Π’Π°ΠΊΠΈΠ΅ Ρ‚Π΅Π³ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ класс ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, зависящий ΠΎΡ‚ контСкста, Π½ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ имя класса ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅Π³ΠΎΠΌ.

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° значСния Π²Ρ‹Π±ΠΎΡ€Π° такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° значСния Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΈΠ»ΠΈ построСнной, Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π’Π΅Π³, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² ΠΎΠΊΡ‚Π΅Ρ‚Π°Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, являСтся Ρ‚Π΅Π³ΠΎΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΊΠ°ΠΊ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° ASN.1.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚Π΅Π³ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€ΠΎΠ΄Π½Ρ‹ΠΌΠΈ для ASN.1:

Π’ΠΈΠ΄Ρ‹, ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ класс

Π˜ΠΌΡΠ Π°Π·Ρ€Π΅ΡˆΠ΅Π½Π½ΠΎΠ΅ ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π³Π°
ДСсятичныйШСстнадцатСричный
ΠšΠΎΠ½Π΅Ρ† содСрТания (EOC)ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ00
BOOLEANΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ11
Π¦Π•Π›ΠžΠ•ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ22
BIT STRINGОба33
ΠžΠšΠ’Π•Π’ΠΠΠ― БВРОКАОба44
ΠΠžΠ›Π¬ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ55
Π˜Π”Π•ΠΠ’Π˜Π€Π˜ΠšΠΠ’ΠžΠ  ΠžΠ‘ΠͺΠ•ΠšΠ’ΠΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ66
ДСскриптор ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠžΠ±Π°77
Π’ΠΠ•Π¨ΠΠ˜Π™ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΎ88
ΠΠΠ‘Π’ΠžΠ―Π©Π˜Π™ (ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΠΈΠΉ)ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ99
ΠŸΠ•Π Π•Π§Π˜Π‘Π›Π•ΠΠΠ«Π•ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ10А
Π’Π‘Π’Π ΠžΠ•ΠΠΠ«Π™ PDVΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΎ11B
UTF8StringОба12C
ΠžΠ’ΠΠžΠ‘Π˜Π’Π•Π›Π¬ΠΠ«Π™-OIDΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ13D
Π’Π Π•ΠœΠ―ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ14E
Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ15F
ΠŸΠžΠ‘Π›Π•Π”ΠžΠ’ΠΠ’Π•Π›Π¬ΠΠžΠ‘Π’Π¬ И ΠŸΠžΠ‘Π›Π•Π”ΠžΠ’ΠΠ’Π•Π›Π¬ΠΠžΠ‘Π’Π¬ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΎ1610
ΠΠΠ‘ΠžΠ  ΠΈ ΠΠΠ‘ΠžΠ ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΎ1711
NumericStringОба1812
PrintableStringОба1913
T61StringОба2014
VideotexStringОба21 год15
IA5StringОба2216
UTCTimeОба2317
GeneralizedTimeОба2418
GraphicStringОба2519
VisibleStringОба26 год1А
GeneralStringОба271B
UniversalStringОба28 год1Б
БВРОКА Π₯ΠΠ ΠΠšΠ’Π•Π ΠΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΎ291D
BMPStringОба301E
Π”ΠΠ’ΠΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ31 Π³ΠΎΠ΄1F
Π’Π Π•ΠœΠ― Π”ΠΠ―ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ3220
ДАВА-Π’Π Π•ΠœΠ―ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ3321 Π³ΠΎΠ΄
ΠŸΠ ΠžΠ”ΠžΠ›Π–Π˜Π’Π•Π›Π¬ΠΠžΠ‘Π’Π¬ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ3422
OID-IRIΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ35 Π³ΠΎΠ΄23
ΠžΠ’ΠΠžΠ‘Π˜Π’Π•Π›Π¬ΠΠ«Π™-OID-IRIΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ3624

Бписок Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚Π΅Π³ΠΎΠ² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ класса ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² Π Π΅ΠΊ. МБЭ-T X.680, ΠΏΡƒΠ½ΠΊΡ‚ 8, Ρ‚Π°Π±Π»ΠΈΡ†Π° 1. [2]

ΠšΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ Ρ‚ΠΈΠΏ элСмСнта ΠΊΠ°ΠΊ Ρ‚Π΅Π³ ASN.1, состоящий ΠΈΠ· класса ΠΈ числа, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π»ΠΈ ΠΎΠΊΡ‚Π΅Ρ‚Ρ‹ содСрТимого сконструированноС ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ значСния Π»ΠΈΠ±ΠΎ с ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ, Π»ΠΈΠ±ΠΎ с построСнными ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ. Он кодируСтся ΠΊΠ°ΠΊ 1 ΠΈΠ»ΠΈ нСсколько ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ².

ΠžΠΊΡ‚Π΅Ρ‚ 1ΠžΠΊΡ‚Π΅Ρ‚ 2 ΠΈ Π΄Π°Π»Π΅Π΅
8765432187654321
Класс Ρ‚Π΅Π³Π°ΠŸΠšΠΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π³Π° (0–30)N / A
31 годБолССНомСр Ρ‚Π΅Π³Π°

Π’ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΡ‚Π΅Ρ‚Π΅ Π±ΠΈΡ‚ 6 ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚, являСтся Π»ΠΈ Ρ‚ΠΈΠΏ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ составным, Π±ΠΈΡ‚Ρ‹ 7–8 ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ класс Ρ‚ΠΈΠΏΠ°, Π° Π±ΠΈΡ‚Ρ‹ 1–5 ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π³Π°. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ значСния:

ΠšΠ»Π°ΡΡΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ0Π’ΠΈΠΏ являСтся Ρ€ΠΎΠ΄Π½Ρ‹ΠΌ для ASN.1
ЗаявлСниС1Π’ΠΈΠΏ дСйствитСлСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ прилоТСния.
Зависит ΠΎΡ‚ контСкста2Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ этого Ρ‚ΠΈΠΏΠ° зависит ΠΎΡ‚ контСкста (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π½Π°Π±ΠΎΡ€Π΅ ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅)
Частный3ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ Π² частных спСцификациях
ΠŸΠšΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠžΠΏΠΈΡΠ°Π½ΠΈΠ΅
ΠŸΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΉ (P)0ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ содСрТимого нСпосрСдствСнно ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта.
ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ (C)1ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ содСрТимого содСрТат 0, 1 ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ элСмСнтов.

Длинная Ρ„ΠΎΡ€ΠΌΠ°

Если Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π³Π° слишком Π²Π΅Π»ΠΈΠΊ для 5-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ поля Ρ‚Π΅Π³Π°, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΊΡ‚Π΅Ρ‚Π°Ρ….

ΠΠ°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠΊΡ‚Π΅Ρ‚ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ класс ΠΈ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² / построСнный, ΠΊΠ°ΠΊ ΠΈ Ρ€Π°Π½ΡŒΡˆΠ΅, Π° Π±ΠΈΡ‚Ρ‹ 1–5 Ρ€Π°Π²Π½Ρ‹ 1. НомСр Ρ‚Π΅Π³Π° кодируСтся Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΊΡ‚Π΅Ρ‚Π°Ρ…, Π³Π΄Π΅ Π±ΠΈΡ‚ 8 ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π²Π΅Π½ 1, Ссли ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² большС, Π° Π±ΠΈΡ‚Ρ‹ 1–7 ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π³Π°. ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ Π½ΠΎΠΌΠ΅Ρ€Π° Ρ‚Π΅Π³Π° с прямым порядком Π±Π°ΠΉΡ‚ΠΎΠ² ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ Π½ΠΎΠΌΠ΅Ρ€ Ρ‚Π΅Π³Π°. Π”ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ наимСньшСС количСство ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ²; Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π±ΠΈΡ‚Ρ‹ 1–7 Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ 0 Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΎΠΊΡ‚Π΅Ρ‚Π΅.

ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ Π΄Π»ΠΈΠ½Ρ‹

Π•ΡΡ‚ΡŒ Π΄Π²Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² Π΄Π»ΠΈΠ½Ρ‹: опрСдСлСнная Ρ„ΠΎΡ€ΠΌΠ° ΠΈ нСопрСдСлСнная Ρ„ΠΎΡ€ΠΌΠ°.

ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ ΠΎΠΊΡ‚Π΅Ρ‚ Π΄Π»ΠΈΠ½Ρ‹

Π€ΠΎΡ€ΠΌΠ°Π‘ΠΈΡ‚Ρ‹
87654321
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ, ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ0Π”Π»ΠΈΠ½Π° (0–127)
НСопрСдСлСнный10
ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ, Π΄Π»ΠΈΠ½Π½Ρ‹ΠΉ1ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² (1–126)
Π—Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ1127

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°

Он ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ количСство ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² содСрТимого ΠΈ всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ссли Ρ‚ΠΈΠΏ являСтся ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ сконструированным ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ доступны Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π•ΡΡ‚ΡŒ краткая Ρ„ΠΎΡ€ΠΌΠ° ΠΈ полная Ρ„ΠΎΡ€ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρ‹ Π΄Π»ΠΈΠ½. ЧисловыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Ρ†Π΅Π»Ρ‹Π΅ числа Π±Π΅Π· Π·Π½Π°ΠΊΠ°, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ младший Π±ΠΈΡ‚ всСгда ΠΈΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ (справа).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹, Π΄Π»ΠΈΠ½Π° 435

ΠžΠΊΡ‚Π΅Ρ‚ 1ΠžΠΊΡ‚Π΅Ρ‚ 2ΠžΠΊΡ‚Π΅Ρ‚ 3
100000100000000110110011
Длинная Ρ„ΠΎΡ€ΠΌΠ°2 ΠΎΠΊΡ‚Π΅Ρ‚Π° Π΄Π»ΠΈΠ½Ρ‹435 ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² содСрТимого

НСопрСдСлСнная Ρ„ΠΎΡ€ΠΌΠ°

Π­Ρ‚ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄Π»ΠΈΠ½Ρƒ, Π½ΠΎ ΠΎΠΊΡ‚Π΅Ρ‚Ρ‹ содСрТимого Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΎΠΊΡ‚Π΅Ρ‚Π°ΠΌΠΈ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠΎ ΠΊ сконструированным Ρ‚ΠΈΠΏΠ°ΠΌ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ссли ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π½Π΅ доступСн сразу Π²ΠΎ врСмя кодирования.

Он состоит ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠΊΡ‚Π΅Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΠΈΡ‚ 8 Ρ€Π°Π²Π΅Π½ 1, Π° Π±ΠΈΡ‚Ρ‹ 1–7 Ρ€Π°Π²Π½Ρ‹ 0. Π—Π°Ρ‚Π΅ΠΌ 2 ΠΎΠΊΡ‚Π΅Ρ‚Π° ΠΊΠΎΠ½Ρ†Π° содСрТимого Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ ΠΎΠΊΡ‚Π΅Ρ‚Ρ‹ содСрТимого.

ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ содСрТания

ΠžΠΊΡ‚Π΅Ρ‚Ρ‹ содСрТимого ΠΊΠΎΠ΄ΠΈΡ€ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… элСмСнта. [1]

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΎΠΊΡ‚Π΅Ρ‚ΠΎΠ² содСрТимого ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ (ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π΄Π»ΠΈΠ½Π° элСмСнта Ρ€Π°Π²Π½Π° 0), Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сущСствованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ASN.1 ΠΈΠ»ΠΈ Π΅Π³ΠΎ пустоту. НапримСр, это случай значСния NULL ASN.1.

НаиболСС сущСствСнными ограничСниями кодирования DER ΡΠ²Π»ΡΡŽΡ‚ΡΡ:

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ BER ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ CER ΠΈΠ»ΠΈ DER Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² гибкости, обСспСчиваСмой Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ кодирования. BER, ΠΊΠ°ΠΊ объяснСно Π²Ρ‹ΡˆΠ΅, являСтся Π±Π°Π·ΠΎΠ²Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΏΡ€Π°Π²ΠΈΠ» кодирования, Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ ITU-T X.690 для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ структур Π΄Π°Π½Π½Ρ‹Ρ… ASN.1. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ отправитСлям Ρ‡Π΅Ρ‚ΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования структур Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ хотят ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ оставляСт отправитСлям Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ кодирования. Как ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² стандартС X.690, Β«ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½Ρ‹ основными ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ кодирования Π² качСствС ΠΎΠΏΡ†ΠΈΠΈ отправитСля. ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΠΈ, Π·Π°ΡΠ²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΎ соотвСтствии основным ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ кодирования, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ всС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹Β». [1]

ΠŸΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ² ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ всС Π·Π°ΠΊΠΎΠ½Π½Ρ‹Π΅ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΊΠΎΠ½Π½ΠΎ Π·Π°ΡΠ²ΠΈΡ‚ΡŒ ΠΎ соотвСтствии BER. Напротив, ΠΈ CER, ΠΈ DER ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ доступныС спСцификации Π΄Π»ΠΈΠ½Ρ‹ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, CER ΠΈ DER ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ BER ΠΈ слуТат для устранСния нСоднозначности стандарта BER.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ кодирования, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ стандартов X.690 прСдоставляСт ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:

Π’Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования Π±ΠΎΠ»Π΅Π΅ подходят, Ρ‡Π΅ΠΌ каноничСскиС ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования, Ссли Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ достаточно ΠΌΠ°Π»ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² доступной памяти, ΠΈ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ быстро ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ значСния. ΠšΠ°Π½ΠΎΠ½ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования Π±ΠΎΠ»Π΅Π΅ подходят, Ρ‡Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π΅Π»ΠΈΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π»Π΅Π³ΠΊΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΈΠ»ΠΈ Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ значСния ΠΏΠ΅Ρ€Π΅Π΄ всСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. доступСн. Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования Π±ΠΎΠ»Π΅Π΅ подходят, Ρ‡Π΅ΠΌ каноничСскиС ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования, Ссли ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ содСрТит установлСнноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π½Π΅Ρ‚ нСобходимости Π² ограничСниях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π»Π°Π³Π°ΡŽΡ‚ каноничСскиС ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π° кодирования.

ΠšΡ€ΠΈΡ‚ΠΈΠΊΠ° кодирования BER

НСсмотря Π½Π° каТущиСся ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, BER являСтся популярным Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, особСнно Π² систСмах с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ собствСнными ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ основана Π½Π° ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ…, взятых ΠΈΠ· Free On-line Dictionary of Computing Π΄ΠΎ 1 ноября 2008 Π³. ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… Π² соотвСтствии с условиями «пСрСлицСнзирования» GFDL вСрсии 1.3 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *