ASN.1 ์ ํ
์คํธ๋ก ๋ Syntax ์ด๋ค. ์ฆ ์ธ์ด ํํ์ด๋ค.
์ด ASN.1 ๋ฐ์ดํ๋ฅผ ์์ฑ ํ๊ธฐ ์ํ ๊ธฐ๋ณธ ๊ท์น์ ์ค๋ช
ํ๋ค.
ASN.1 ๋ฌธ์ ์
- A-Z, a-z, 0-9
- : = , { } < . @ ( ) [ ] – ‘ “ | & ^ * ; ! >
ํน์ง
- ๋์๋ฌธ์ ๊ตฌ๋ณ
- ๋ ์ด์์์ ์์ ํฌ๋งท์ด๋ฉฐ ๊ฐํ๋ฌธ์ (End Of Line) ์ ํ๋์ ๊ณต๋ฐฑ ๋ฌธ์๋ก ์ธ์ํจ
- ์ฃผ์์ ๊ฒฝ์ฐ "--"๋ก ์์ ํด์ "--"๋ก ๋๋จ ๋๋ ๊ฐํ ๋ฌธ์๋ก ๋๋จ
์์ฝ์ด
- BOOLEAN, CHARACTER, FALSE, IA5String, INTEGER, NULL, OCTET, etc
- SET, SEQUENCE, CHOICE and etc
- BEGINE, END, OPTIONAL, COMPONENTS, UNION, WITH etc
- ๋๋ต ๋ค๋ฅธ ์์ฝ์ด๋ฅผ ํฌํจํด 80๊ฐ ์ ๋ ์์
ASN.1 ์๋ ํฌ๊ฒ Modules ์ ์ ์ ํ๊ณ ๊ทธ Modules ๋ด์๋ Type ๊ณผ Value ์ ๋ํ ๊ฐ์ ํํํ๋ค.
Modules
- ASN.1 ์ ๊ธฐ๋ณธ ๋จ์
- ๋ฐ์ดํ๋ฅผ ๊ตฌ์ฑํ๋ type & value ์ ์์ ์งํฉ์ ๊ตฌ์ฑ ํ๊ธฐ ์ํด ์ฌ์ฉ
- ‘BEGIN’๊ณผ ‘END’๋ฅผ ์ฌ์ฉํ์ฌ ์ ์
DEFINITIONS ::= BEGIN
<module body .....>
END
- ๋ชจ๋ ๋ค์์ OID ๊ฐ์ ์ฌ์ฉํ๋๋ฐ ์ด ๋ถ๋ถ์ ์ต์ ๊ฐ์ด๋ค.
- DEFINITIONS ๋ค์์ Tag Default ์ ์๊ฐ ๋๋๋ฐ ์ต์ ์ด๋ค.
- Tag Default ๊ฐ์ด ์์ผ๋ฉด TAG EXPLICIT ๋ก ์๋ ์ ์ ๋๋ค.
- ์๋ Type Notation ๊ณผ Value Notation ์ ๋ณด๊ฐ ๋ค์ด๊ฐ๋ค.
- DEFAULT ๋ ๊ฐ์ด ์ง์ ์์ ์ ์๋ ์ค์ ๊ฐ
- OPTIONAL ์ ๊ฐ์ด ์ค์ ์ด ์๋์ด๋ ๋จ
์์
SimpleModule {1 2 0 0 6 1} DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
Rocket ::= SEQUENCE
{
name UTF8String (SIZE(1..16)),
message UTF8String DEFAULT "Hello World" ,
fuel ENUMERATED {solid, liquid, gas, hybrid},
speed CHOICE
{
mph INTEGER,
kmph INTEGER
} OPTIONAL,
payload SEQUENCE OF UTF8String
}
END
๋ฐ์ํ
'PKI > ASN.1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ASN.1 Type Notation (1/3) (0) | 2022.11.02 |
---|---|
RFC3280-PKIX1Implicit88 ASN.1 (0) | 2022.11.02 |
RFC3280-PKIX1Explicit88 ASN.1 (0) | 2022.11.02 |
ASN.1 ์ด์ฉํ ๊ฐ๋ฐ ํ๋ฆ (0) | 2022.11.02 |
ASN.1 ์ด๋? (0) | 2022.11.02 |