boringssl/crypto/obj/README
David Benjamin 720ff53d07 Trim and simplify obj_xref.c.
This avoids having more generated bits. The table is quite small,
especially so when we take out anything we don't implement. There's no
real need to do the binary search. (Exotic things like GOST, the legacy
NID_rsa and NID_dsa_2 spellings of RSA and DSA, and hash functions we
don't implement.)

Mostly this saves me from having to reimplement obj_xref.pl.
(obj_xref.pl processes nid.h, formerly obj_mac.h, so we can't just use
the existing one and still change nid.h.)

Change-Id: I90911277e691a8b04ea8930f3f314d517f314d29
Reviewed-on: https://boringssl-review.googlesource.com/12962
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2016-12-21 19:39:41 +00:00

32 lines
1.2 KiB
Plaintext

OID information is generated via a series of perl scripts. In order, the full
list of commands to run are:
perl objects.pl objects.txt obj_mac.num ../../include/openssl/nid.h
perl obj_dat.pl ../../include/openssl/nid.h obj_dat.h
objects.txt contains the list of all built-in OIDs. It is processed by
objects.pl to output obj_mac.num and nid.h. obj_mac.num is the list of NID
values for each OID. This is an input/output parameter so NID values are stable
across regenerations. nid.h is the header which defines macros for all the
built-in OIDs in C.
nid.h is read by obj_dat.pl to generate obj_dat.h. obj_dat.h contains the
ASN1_OBJECTs corresponding to built-in OIDs themselves along with lookup tables
for search by short name, OID, etc.
Dependency graph:
objects.txt
|
V
[objects.pl] <--+
/ \ |
V V |
nid.h obj_mac.num
|
V
[obj_dat.pl]
|
V
obj_dat.h