Muutokset

Siirry navigaatioon Siirry hakuun

ASN1

1 merkki lisätty, 20. maaliskuuta 2021 kello 17.29
Seuraavana sitten siirrytään '''TBSCertificate''' rakenteen määrittelyyn. Kyseinen rakenne on peräkkäisrakenne jossa on monta kenttää peräkkäin, joista ensimmäinen on '''version''' niminen kenttä. Tuolla kenttä on oletuksena arvoltaan '''v1''' ja sen määrittely on kuvattu '''Version''' määrittelyssä. '''Version''' määrittely puolestaan kertoo että kyseessä on numero jolla voi olla arvot 0, 1, tai 2 ja niistä käytetään nimiä '''v1''', '''v2''' tai '''v3'''. Jokaisella kentällä ASN.1:ssä voi olla joko IMPLICIT tai EXPLICIT tag ja tuo '''[0] EXPLICIT''' tarkoittaa että jos tuo kenttä on olemassa (eli siis ei käytetä oletus '''v1''' arvoa, niin sen edessä pitää olla erikseen tag arvolla 0.
Seuraavana tulee '''serialNumber''' joka on määritelty '''CertificateSerialNumber''' määrittelyssä olemaan tyypiltään numero. Tämän jälkeen tulee '''signature''' kenttä joka kertoo allekirjoituksen muodon ja sen kentän muoto on määritelty '''AlgorithmIdentifier''' määrittelyssä. Huomaa että alun '''Certificate''' määrittelyssä määriteltiin myös kenttä nimeltä '''signatureAlgorithm''' joka oli tätä samaa muotoa. '''AlgorithmIdentifier''' määrittelee että se on sarjarakenne jossa on kaksi kenttää, ensimmäinen on '''algorithm''' joka on OBJECT IDENTIFIER tyyppinen ja toisena on '''parameters''' kenttä joka voi olla mitä tahansa ja se voi olla myös tyhjä. Tuon toisen kentän määrittely riippuu siitä mikä '''algorithm''' kentän arvo oli. Loppu ASN.1 määrittely jatkuu samalla tavalla.
Tuossa '''Time''' määrittelyssä oleva '''CHOICE''' kertoo että vain yksi noista kentistä siellä sisällä saa olla olemassa ja tässä tapauksessa se mikä siellä on tunnistetaan tyypistä. '''CHOICE''':n kanssa pitää hyvin usein käyttää noita tagejä, koska jos sen sisällä on esim kaksi '''INTEGER''' kenttää niin ilman tagejä ei voi tietää kumpi niistä on annettu.

Navigointivalikko