У меня есть веб-служба Java, и я реализовал X.509 с использованием файлов jks, созданных Java Keytool.
keytool -genkey -keyalg RSA -sigalg SHA1withRSA -validity 730 -alias myservicekey -keypass skpass -storepass sspass -keystore serviceKeystore.jks -dname "cn=localhost"
keytool -genkey -keyalg RSA -sigalg SHA1withRSA -validity 730 -alias myclientkey -keypass ckpass -storepass cspass -keystore clientKeystore.jks -dname "cn=clientuser"
Чтобы установить доверительные отношения между клиентом и сервером, я импортирую сертификаты сервера на клиент и сертификаты клиента на сервер.
Импортировать открытый ключ (сертификаты) сервера в клиент.
keytool -export -rfc -keystore clientKeystore.jks -storepass cspass -alias myclientkey -file MyClient.cer
keytool -import -trustcacerts -keystore serviceKeystore.jks -storepass sspass -alias myclientkey -file MyClient.cer -noprompt
Импортировать открытый ключ клиента (сертификаты) на сервер
keytool -export -rfc -keystore serviceKeystore.jks -storepass sspass -alias myservicekey -file MyService.cer
keytool -import -trustcacerts -keystore clientKeystore.jks -storepass cspass -alias myservicekey -file MyService.cer -noprompt
И Сервис, и Клиент написаны на Java и работают нормально. Теперь у меня есть клиент .NET, и я понимаю, что если я дам те же сертификаты jave-клиента клиенту .NET, то есть clientKeystore.jks, он должен работать, но у клиента .net возникнут проблемы.
Разработчик клиента .NET настоял на том, чтобы я использовал созданный им сертификат .pfx, как мне импортировать сертификат .pfx в существующий файл .jks.
Примеры, которые я видел в Интернете, требуют от меня создания нового файла .jks.
Спасибо.