ChristophWurst / krankerl

A CLI helper to manage, package and publish Nextcloud apps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

code signing support

onny opened this issue · comments

Hey,
thanks for this great tool. It is already very helpful in the development and publishing process.
In an older blog post you wrote that you planned to support code-signing in krankerl but had issues with the json implementation. Code signing would be a really good feature otherwise I have to install several dependencies in my Gitlab CI config.

I guess the manual process looks something like this:

  • krankerl package
  • download & install php and occ (nextcloud)
  • uncompress build package to a temporary directory
  • sign code using occ
  • recompress temporary directory and put archive back into build/artifacts directory
  • krankerl publish

Best regards
Jonas

Hi @onny,

it was indeed on my todo. The main issue was (is?) that Nextcloud uses the non-interoperable PHP json serializer and then signs this string. This method isn't trivial to reproduce with Rust. But I remember that I also discussed this with @rullzer and we wanted to change the signature format for this.

Another possible idea is to run the json serialization through php, like generate a tiny php script and run that through the php interpreter from Rust. That should give the same result.