I know that there are previous questions on the subject e.g. here, however I would like to ask it for my particular (simple) case.
I have an application firmware that is downloaded to a microprocessor through a bootloader firmware that is taking care of decryption and signature verification.
The signature is implemented through RSA. The bootloader has only one public key to authenticate the application firmware, so there is only one entity that can sign the application firmware with the private key. No other signature is accepted.
The application firmware is also encrypted with AES (AES-128-CTR), the key and iv being stored securely in the device.
In the past, I have always signed and then encrypted. However, in the implementation that I am working on now, it would be easier for the bootloader to verify the signature first and then decrypt it. So I would prefer to encrypt and then sign the application firmware to be downloaded.
In this situation, what is better? Sign-then-encrypt or encrypt-then-sign?