How does the encoder know whether the GeneralizedTime type or the UTCTime type is intended?

The same way it knows that it is encoding an INTEGER, IA5String, or any other type: the ASN.1 specification (which is coded in the control table or code file) tells it which type it is encoding. If the ASN.1 specification reads:

  Date1 ::= UTCTime

the control table or code file will have information in it which tells the encoder that it is supposed to encode a UTCTime value for Date1. Likewise, if the ASN.1 specification reads:

  Date1 ::= GeneralizedTime

the control table or code file will have information in it which tells the encoder that it is supposed to encode a GeneralizedTime value for Date1.

Although the C structure used for these two types happens to be the same, the resulting encodings are different.


The samples included with some of the Knowledge Center answers are meant for your general understanding of the OSS products. Different versions of the products might produce slightly different outputs. Consult the products documentation and samples for the most up-to-date products information and code examples.



Contact Support
contact Our office hours
24 hours/day, 7 days/week

  • Phone: 1-888-OSS-2761 (USA and Canada)
  • Phone: 1-732-302-9669 (International)
  • Fax: 1-732-302-0023
  • Email: support@oss.com
Free Trial
download

Test drive the OSS Nokalva ASN.1, LTE, and XML Tools now! Your trial includes complete software, documentation, sample programs, free 24x7 technical support and more.




Learn ASN.1
Learn ASN.1

Our expert personnel can help you learn ASN.1!

We offer 4-day ASN.1 courses at our headquarters or your premises.