[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: algorithm IDs
Werner Koch <wk@xxxxxxxxx> writes:
>On Fri, 20 Jun 2008 12:48, rabbi@xxxxxxxxxxx said:
>> Actually, my concern has to do with the fact that OIDs are of arbitrary
>> length. X.509 got it wrong; we might too.
>How can you get this wrong? You compare the length byte and the the data.
>That is trivial. Some folks might be tempted to use a BER parser but is
>overkill and a bad practise.
You don't even check the length byte, you just have a table of encoded OIDs
and walk down them doing a memcmp() of the full encoded form. Also, while
they *can* be of arbitrary length, unless you design a pathologically stupid
one it's going to be in the region 5-15 bytes.
(You can also optimise the check by comparing an integer checksum of the OID
with a stored integer checksum as a quick-reject check, so an OID match
search is just a walk down a list of ints followed by a single memcmp()).
Peter.