I'm trying to implement a Software deployment & updating function which is part of AUTOSAR AP standard.

Background information:

There are three parts.

  1. Integrator the client which user uses it to create a software from the source and make it into a package.

  2. Backend Server the software package will be upload into the server.

  3. Target the client downloads the from server and verify it creates from a valid user or not.

So about the verification via signature.

Who should create a pair of keys? The user creates keys, gives private key to Integrator, uploads the public key to the server and always keeps the private key(to represent the user itself)? Or the server generate the keys and issue to the user?

  • As a rule of thumb, the keypair should always be generated where it will be used. If the user holds onto the private key, the user should be the one generating it.
    – user163495
    Sep 18, 2019 at 11:05

1 Answer 1


The safest method is to have the Users generate the keys. The Target and the Backend Server can then verify the origin of the package (which User made it) and the authenticity (if it has been tampered with either due to issues in transport or maliciously) without having to trust the specific origin of the packages.

If you want Targets to be able to use packages without having to trust every inividual User, the Backend Server can sign packages as well. This is also how for example apt works on Ubuntu

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .