ведь Public Key у нас есть, а значит мы можем изменить данные, подписать их и отправить на сервер
Не-а, нифига мы не можем так сделать :) Для
подписи нужен
свой личный ключ. Общим ключом подпись можно только
проверить. В этом и смысл ассмметричной криптографии - подписываешь своим личным, другой чел проверяет твоим общим. Обладание общим ключом не дает
ничего. Настолько ничего, что его в почте прикрепляют к каждому письму :)
Если что-то изменить в тексте - подпись не сойдется.
А цепочка сертификатов издателя нужна чтобы проверить сертификат, который ты пытаешься проверить, потому что в общем случае у тебя корневых сертификатов издателя может и не быть (корпоративные СA, например)