* Tagged Type
- tagged type์ value notation์ ๊ฐ์ง ์ ์์ ( ์ง์ ๊ฐ๋ง ์ง์ ํ๊ณ ๊ฐ๋ด์ value notation์ ๋ชป์ด๋ค ์ธ๊ฐ? )
- tag๋ value notation์๋ ๋ํ๋์ง ์์
Present ::= [21] BOOLEAN
status Present ::= TRUE
IDNumber ::= [PRIVATE 1] IMPLICIT INTEGER
unassigned IDNumber ::= 9999
Color ::= [13] BIT STRING {red(0), blue(1), yellow(2)}
defaultColor Color ::= {red, yellow}
* SEQUENCE / SEQUENCE OF
- ์์ ์๋ ๊ฐ๋ค์ ๋์ด / ๋์ผํ type์ ์์ ์๋ ๊ฐ๋ค์ ๋์ด
Record ::= SEQUENCE {
name OCTET STRING,
location INTEGER {homeOffice(0),fieldOffice(1),roving(2)},
age INTEGER OPTIONAL
}
a Record ::= {name '62696720'H, location roving, age 26 }
b Record ::= {name '62696720'H, location roving}
DailyTemperatures ::= SEQUENCE OF INTEGER
weeklyHighs DailyTemperatures ::= { 10, 12, -2, 8 }
* SET / SET OF
- ์์ ์๋ ๊ฐ๋ค์ ๋์ด / ๋์ผํ type์ ์์ ์๋ ๊ฐ๋ค์ ๋์ด
Record ::= [0] IMPLICIT SET {
name [0] IMPLICIT OCTET STRING,
location [1] IMPLICIT INTEGER {homeOffice(0),fieldOffice(1),roving(2)} OPTIONAL,
age [2] IMPLICIT INTEGER OPTIONAL}
a Record ::= { location roving, age 26, name '62696720'H}
b Record ::= { name '62696720'H, age 29}
PersonnelRecord ::= SET OF Record
* CHOICE
- ์ฌ๋ฌ ๊ฐ ์ค ํ๋์ type์ ์ ํ
MessageType ::= CHOICE {text OCTET STRING, num INTEGER}
initialize MessageType ::= text : ‘0000000000000000’B
panic MessageType ::= num : 13
Division ::= CHOICE {
manufacturing [0] IMPLICIT SEQUENCE {
plantID INTEGER,
majorProduct OCTET STRING },
r-and-d [1] IMPLICIT SEQUENCE {
labID INTEGER,
currentProject OCTET STRING }}
currentAssignment Division ::= r-and-d : { labID 48, currentProject ‘44582D37’H}
* Character String Values
targetSales NumericString ::= “1000000”
topAuthor PrintableString ::= “Robert B. Parker”
capLetters GraphicString ::= “ABCDLMYZ”
mixedChars GeneralString ::= “ABC๏๏”
- - ASN.1 : 1994 extensions
alphaControl IA5String ::= {“ABCD”, cr, “EFGH”}
cr IA5String ::= {0,13}
betaNewline IA5String ::= “ABCD
EFGH” - - IA5String์ ๊ฐํ๋ฌธ์ ์ฒ๋ฆฌ
bitString BIT STRING ::= ‘01001011
10110011’B - - BIT STRING, OCTET STRIG์
doubleHex OCTET STRING ::= ’01FE - - ๊ฐํ๋ฌธ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ์ฒ๋ฆฌ
748A’H
* ObjectIdentifier Values
ftam1 OBJECT IDENTIFIER ::= { iso(1) standard(0) 8571 abstract-
syntax(2) ftam-pci(1) }
ftam1 OBJECT IDENTIFIER ::= { 1 0 8571 2 1 }
ftamRoot OBJECT IDENTIFIER ::= { 1 0 8571 }
ftam1 OBJECT IDENTIFIER ::= { ftamRoot abstract-syntax(2)
ftam-pci(1) }
* Object Descriptor Values
ftamPDUs ObjectDescriptor ::= “FTMA PCI”
recordFormats1 ObjectDescriptor :: “Accounting”
* Time Values
- Generalized Time
YYYYMMDDHHMMSS
fileCreated GeneralizedTime ::= “19960415203000.0”
msgSent GeneralizedTime ::= “19960415203000.0-0600”
- - ‘-’๋ ์๊ฐ์ด GMT๋ณด๋ค ๋น ๋ฆ์ ์๋ฏธ
- UTCTime
YYYYMMDDHHMMSSZ - - Z ๋ ์๊ฐ์ด GMT๋ฅผ ์๋ฏธ
fileModified UTCTime ::= “9604152030Z”
msgDelivered UTCTime ::= “9604152030-0600”
* ANY
- ์ด๋ ํ type ์ผ๋ก๋ ๋์ฒด๋ ์ ์๋๋ก 1984์ ๋์
'PKI > ASN.1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ASN.1 ์ฐธ๊ณ ์ฌ์ดํธ (0) | 2022.11.03 |
---|---|
ASN.1 Advanced (0) | 2022.11.03 |
ASN.1 Value Notation (1/2) (0) | 2022.11.03 |
ASN.1 Constraints (0) | 2022.11.03 |
ASN.1 Type Notation (3/3) (0) | 2022.11.03 |