Этот вопрос закрыт для ответов, так как повторяет вопрос Зачем нужен сертификат?
@aopil

Как работает RSA с public Key + Certificate?

У меня есть пример оригинального запроса, который выглядит вот так:
1) base64 Данные
2) base64 RSA certificate chain including root CA
3) base64 Подпись (SHA1+RSA) Данных, подтвержденная с помощью сертификата (пункт 2).

Зная Public Key, данные подписываются и отправляются на сервер, который может расшифровать подпись и сравнить hash, чтобы убедится, что данные не изменены.

Вопрос: Я не понимаю, как данная технология может гарантировать, что данные небыли изменены, ведь Public Key у нас есть, а значит мы можем изменить данные, подписать их и отправить на сервер. Чтобы этого нельзя было сделать служит сертификат?

Что нам мешает скопировать сертификат от оригинального запроса и отправлять вместе с и другими данными? Время действия сертификата не проверяется севером в моем случае.

Объясните мне пожалуйста, какую роль сертификат несёт в данной цепочке.
  • Вопрос задан
  • 343 просмотра
Ответы на вопрос 2
inoise
@inoise
Solution Architect, AWS Certified, Serverless
Да все просто - ключей 2 и шифруются данные приватным ключом, а публичным они только расшифровываются. Пока приватный ключ никому не отдали - все довольны и все хорошо.

Что до цепочки сертификатов то вся цепочка в процессе шифрования не участвует. Эти сертификаты нужны для валидации последующих
Ответ написан
CityCat4
@CityCat4 Куратор тега Цифровые сертификаты
Внимание! Изменился адрес почты!
ведь Public Key у нас есть, а значит мы можем изменить данные, подписать их и отправить на сервер

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

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы