Please have a look at the official documentation at https://docs.ubuntu.com/core/en/reference/assertions which explains already what assertions are, how they are structured, what types of assertions exists, etc.
there are others though, like the model assertion when building an Ubuntu Core image, or the system-user assertion for having a system user created on an Ubuntu Core image, that you (or the image manufacturer) create and sign yourself with your snapcraft key
A snap-build or snap-revision assertion is signed by the authority which gives you access to the snap, so the store. For others like the system-user assertion it’s signed by the brand. Check the documentation for a few examples.
I am looking at the old open-source snap store implementation, and have managed to get it to mostly work except Snaps won’t install, because they don’t have a valid assertion.
I’m trying to figure that out. How do I generate a valid assertion for that? Does Snap require a specific signing authority?