Хорошо, у меня есть файл .cer с ключом сертификата, например
-----BEGIN CERTIFICATE-----
.....A1NuUYdviJSQOLhkL8WgtEpocv1u2mv9DQcMJWoA
-----END CERTIFICATE-----
Я использую этот открытый ключ для проверки ответа, полученного от стороннего сервера. Я использую
Signature.verify
метод защиты Java. Моя проблема в том, что даже если я подделаю сертификат, например
-----BEGIN CERTIFICATE-----
.....A1NuUYdviJSQOLhkL8WgtEpocv1u2mv9DQcMJ111
-----END CERTIFICATE-----
Я все еще могу проверить свои данные. Я что-то делаю не так или я чего-то не понимаю.
1 ответ
Сертификат содержит больше, чем просто открытый ключ. Вы, наверное, изменили какое-то другое поле (но я удивлен, что вы не получили никаких жалоб, это должно быть подписано).
Вы можете попробовать просмотреть содержимое сертификата с помощью:
openssl x509 -noout -text -in <filename>
и убедитесь сами, что изменилось.