We're still working out the process, so there's no formal definition quite yet, but as a start:

Make a web page someplace that lets us download, as individual files in a directory (or a single tarball would be fine) with:

  1. a brief text explanation of who's asking for it to be signed and why, in a UTF-8 encoded file named README.txt
  2. a list of at least two security contacts, and for each one:
  3. the shim.efi binary you want signed
  4. information about which shim release you've started with, i.e. is it a specific official release tarball downloaded from github, is it an archive of some particular git revision, etc. Starting with a released tarball is highly recommended.
  5. any patches that have been applied, with explanations as to why, and the plans for getting any of them upstream.
  6. build instructions, including what OS to start with, where to get OS images, etc. I'm going to try to reproduce your build as close as possible to verify that it's really a build of the source tree you tell us it is, so these need to be fairly thorough. At the very least include the specific versions of gcc, binutils, and gnu-efi which were used, and where to find those binaries.
  7. Any and all logs from your build. This should include logs for creating the buildroots, applying patches, doing the build, creating the archives, etc.
  8. Info about what bootloader you're using, including which patches it includes to enforce Secure Boot. (Added 2017-Jul-17)
  9. Same with the OS kernel. (Added 2017-Jul-17)

To be clear: this should be a url that points to a directory, and in it should be all of the above plus a UTF-8 encoded text file named README.txt that tells us what is what.

And then one of us will try to verify that this is all reasonable. We may have questions.

Note that we really only have experience with using grub2 on Linux, so asking us to endorse anything else for signing is going to require some convincing on your part. (Added 2017-Jul-17)