다음을 통해 공유


BIT STRING

BIT STRING 데이터 형식은 0x03 태그 바이트로 시작하는 TLV 트리플렛으로 인코딩됩니다. TLV 트리플렛의 필드에는 콘텐츠의 마지막 바이트에서 사용되지 않은 비트 수를 지정하는 선행 바이트가 포함되어 있습니다. 다음 예제에서는 3개의 콘텐츠 바이트가 따르기 때문에 Length 필드가 0x03 설정되고 마지막 콘텐츠 바이트에 사용되지 않은 비트가 4개이므로 필드의 선행 바이트가 0x04 설정됩니다. 사용되지 않는 각 비트는 문자 x로 표시됩니다.

비트 문자열 데이터 형식의 der 인코딩

PKCS #10 인코딩된 ASN.1 항목에서 조정된 다음 예제에서는 샘플 PKCS #10 인증서 요청의 인코딩된 서명을 보여 주세요. 첫 번째 바이트에는 0X03 BIT STRING 데이터 형식에 대한 Tag 값이 포함됩니다. 두 번째 및 세 번째 바이트에는 바이트 배열의 길이가 포함됩니다. 두 번째 바이트의 비트 7은 127바이트 이상의 콘텐츠가 있기 때문에 1로 설정됩니다. 두 번째 바이트의 비트 0~6은 후행 길이 바이트 수를 지정합니다(이 경우 1). 세 번째 바이트는 0x81 콘텐츠 바이트 수를 지정합니다. 네 번째 바이트인 0x00 마지막 콘텐츠 바이트에 있는 사용되지 않는 비트 수를 지정합니다. 서명은 big-endian 바이트 순서로 인코딩됩니다.

0299:    03 81 81           ; BIT_STRING (81 Bytes)
029c:       00
029d:       47 eb 99 5a df 9e 70 0d  fb a7 31 32 c1 5f 5c 24
02ad:       c2 e0 bf c6 24 af 15 66  0e b8 6a 2e ab 2b c4 97
02bd:       1f e3 cb dc 63 a5 25 ec  c7 b4 28 61 66 36 a1 31
02cd:       1b bf dd d0 fc bf 17 94  90 1d e5 5e c7 11 5e c9
02dd:       55 9f eb a3 3e 14 c7 99  a6 cb ba a1 46 0f 39 d4
02ed:       44 c4 c8 4b 76 0e 20 5d  6d a9 34 9e d4 d5 87 42
02fd:       eb 24 26 51 14 90 b4 0f  06 5e 52 88 32 7a 95 20
030d:       a0 fd f7 e5 7d 60 dd 72  68 9b f5 7b 05 8f 6d 1e

ASN.1 형식 시스템

ASN.1 형식의 DER 인코딩

인코딩된 길이 및 값 바이트