Well, about the topic of
building DSi CIAs (which was the main topic), I've been trying to do some research about it and I think
I got a solution. On a tutorial of building DSiWare CIAs (consisted on extracting BIN files from DSi and then converting them to ROMs and to CIAs, not what I'm currently trying) I found an executable called
make_cia.exe:
Well, after making some tests with some official SRLs of the Nitro SDK (Nintendo's official SDK for Nintendo DS) a friend of mine shared with me, I noticed that the conversion worked, and made me my CIAs, and after that I tried to test it with two types of ROMs: original NDS ROMs of NDS (NOT DSi, like MKDS or NSMB), and homebrew - like ROMs, those made using devkitPro.
In the first attempt, none of them worked. Then, I tried to use a "NDS decryptor" called eNDryptS Advanced, and it technically "re-encrypted" these ROMs (I'm putting these things in inverted commas because I'm not totally sure they're / they do those things). After trying again with the entrypted ones, the homebrew one worked (and made me the CIA!), whereas the other one didn't work.
At least I know why the legit one didn't work: (a very obvious reason) because it was not a DSi ROM (it was actually MKDS)
Now, I have to test if the CIAs work on my 2DS. I'll tell you how does it go!