mix mishka.resign_code (Mishka CMS Core v0.0.1)

Copy Markdown View Source

Re-signs the Elixir stored in pages, layouts, components and error pages.

When this is needed

A database restored from another environment carries signatures made with that environment's key, so MishkaCmsCore.Runtime.PageBuilder.CodeSignature refuses them and every handler and helper in it compiles to a clause that does nothing. That is the feature working — but on a staging copy of production it is a chore rather than an attack, and this is the answer the log line names.

CODE_SIGNING_KEY=… mix mishka.resign_code

Read this before running it

It signs WHATEVER IS THERE. That is the point on a restored dump, and it is exactly the wrong thing to do if the reason a signature does not match is that somebody changed the code in the database — running this would bless their edit. On a machine that is not yours to restore, read the [CodeSignature] warnings in the log first — each one names the snippet that did not verify — and satisfy yourself that a restore is what you are looking at.

Refuses to run with no key configured, because signing with no key is a no-op that would report success and change nothing.