Я прошу прощения за смешивание понятий, но мои знания о ассиметричной безопасности веб-службы невелики.
Правильно, у меня есть хранилище ключей Java, содержащее мой закрытый ключ и открытый ключ клиента.
При вызове веб-службы клиентов в ответ я получаю сообщение об ошибке:
«Подпись или расшифровка недействительна».
МыЯ обнаружил, что открытый ключ, который у меня есть в хранилище ключей и который отправляется по запросу, отличается от открытого ключа, который клиент имеет на своем сервере.Каким-то образом я дал клиенту открытый ключ, отличный от того, который у меня есть в хранилище ключей.
Я хотел бы сделать это заново создать открытый ключ на основе моего личного ключа в хранилище ключей и отправитьэто снова мистеру Заказчику.Возможно ли это сделать?
Если честно, это именно то, что я сделал с помощью оператора keytool.Результат, файл с расширением .cer.Является ли файл с .cer открытым ключом или как?
Любой совет приветствуется.
Решено:
Выше я сказал, что пыталсявосстановить открытый ключ из хранилища ключей, но я не был уверен, что это был правильный способ сделать это.
Во всяком случае, я предоставил г-ну Заказчику этот недавно сгенерированный открытый ключ и попросил их установить его наих сервер.Это сработало, мы сопоставили открытые ключи.Я использовал следующую команду keytool для восстановления открытого ключа:
keytool -export -alias [имя закрытого ключа в хранилище ключей] -file [путь к выходу] -keystore [путь к .jks хранилище ключей]