I am not sure to understand why interpreting the content of an ELF file looks so difficult.
I did so in my boot-loader, and it was far to be difficult - I even handled 32 or 64 bits ELFs without too much coding (I am limited in both code and data space in a real mode boot-loader).
I have to say I did not use standards ELF libraries, just re-coded the stuff based on the fields present in the files.
Obviously my code is not made for this kind of problem, but ELF sections is very simple stuff to redo by hand.
Most of the ELF code in that boot-loader is for 32/64 bits relocation, I assume module verification is done before relocation so it is not needed.
Once you get the different sections of the ELF, you can just sign the relevant parts (i.e. not the symbols) and you do not have a problem with stripped modules.