2014-12-04 20:48:49 +00:00
|
|
|
OID information is generated via a series of perl scripts. In order, the full
|
|
|
|
list of commands to run are:
|
|
|
|
|
2016-03-25 22:07:08 +00:00
|
|
|
perl objects.pl objects.txt obj_mac.num ../../include/openssl/nid.h
|
|
|
|
perl obj_dat.pl ../../include/openssl/nid.h obj_dat.h
|
2014-12-04 20:48:49 +00:00
|
|
|
perl obj_xref.pl obj_mac.num obj_xref.txt > obj_xref.h
|
|
|
|
|
|
|
|
objects.txt contains the list of all built-in OIDs. It is processed by
|
2016-03-25 22:07:08 +00:00
|
|
|
objects.pl to output obj_mac.num and nid.h. obj_mac.num is the list of NID
|
2014-12-04 20:48:49 +00:00
|
|
|
values for each OID. This is an input/output parameter so NID values are stable
|
2016-03-25 22:07:08 +00:00
|
|
|
across regenerations. nid.h is the header which defines macros for all the
|
2014-12-04 20:48:49 +00:00
|
|
|
built-in OIDs in C.
|
|
|
|
|
2016-03-25 22:07:08 +00:00
|
|
|
nid.h is read by obj_dat.pl to generate obj_dat.h. obj_dat.h contains the
|
2014-12-04 20:48:49 +00:00
|
|
|
ASN1_OBJECTs corresponding to built-in OIDs themselves along with lookup tables
|
|
|
|
for search by short name, OID, etc.
|
|
|
|
|
|
|
|
obj_mac.num and obj_xref.txt are read by obj_xref.pl to generate
|
|
|
|
obj_xref.h. obj_xref.txt links signature OIDs to corresponding public key
|
|
|
|
algorithms and digests. obj_xref.h contains lookup tables for querying this
|
|
|
|
information in both directions.
|
|
|
|
|
|
|
|
Dependency graph:
|
|
|
|
|
|
|
|
objects.txt
|
|
|
|
|
|
|
|
|
V
|
|
|
|
[objects.pl] <--+
|
|
|
|
/ \ |
|
|
|
|
V V |
|
2016-03-25 22:07:08 +00:00
|
|
|
nid.h obj_mac.num obj_xref.txt
|
2014-12-04 20:48:49 +00:00
|
|
|
| \ /
|
|
|
|
V V V
|
|
|
|
[obj_dat.pl] [obj_xref.pl]
|
|
|
|
| |
|
|
|
|
V V
|
|
|
|
obj_dat.h obj_xref.h
|