Сертификат подписи кода не предназначен для проверки того, что код не изменился с момента его выдачи, а для проверки того, что код не изменился с тех пор, как код был «подписан». Большая разница.
Конкретный сертификат не привязан ни к конкретному произведению, ни к версии этого произведения. Он привязан к личности.
ДРУГОЙ целью сертификата для подписи кода является проверка личности организации, которая его подписала. Он предназначен для проверки того, что заявка действительно была получена от проверенного лица / организации, поэтому вы знаете, что можете доверять ей.
Поэтому, когда вы подписываете какой-то код, вы сообщаете пользователю, что именно ВЫ предоставляете этот код и что код не изменился с момента его подписания.
Это означает, что нет никакой причины, по которой вы не могли бы использовать один и тот же сертификат для подписи нескольких версий нескольких приложений, поскольку вы проверяете личность вашей организации.
Кроме того, на самом деле важно, чтобы вы использовали тот же сертификат для обновления, что и для предыдущей версии, или вы можете сломать приложение. Изменение сертификата приложения связано с небольшим процессом.
Срок действия сертификатов истекает через некоторое время, поэтому вам придется обновлять сертификаты время от времени.
Надеюсь, это поможет.