Signing and verifying with OpenSSL vs. nrfutil

The issue I'm having is signature verification failing when I sign my firmware package and perform a DFU. I've generated signing key pairs with the nrfutil CLI tool, signed a package, and performed a DFU successfully (following the bootloader example).

Instead of signing the firmware package with nrfutil, I want to sign my package with a third party (a server). I know that the server's source code uses the `cryptography` Python library to sign and verify, which piggy backs off of OpenSSL. I was careful to make sure the signature is in the right byte order, but DFU is still failing during prevalidation because of the signature verification.

I checked that the server signature is little-endian and NOT ASN.1 encoded, is there something else I'm missing?

Also, I checked Nordic documentation and saw that I should be able to generate keys, sign, and verify with OpenSSL. What commands do I need to use to check the signature? Are there equivalent commands for the nrfutil tool?

Is there a DFU example for using OpenSSL instead of nrfutil?

Thanks

Related