2016-12-16 10 views
0

Я довольно новичок в программировании веб-приложений Java. Пользователям необходимо повторно загрузить PKCS #12 сертификаты (один сертификат для всех пользователей и один экземпляр приложения) в моем веб-приложении Spring. Сертификат используется для подписания сообщений SOAP, которые мое приложение отправляет на WS (мне нужно создать keystore с этим сертификатом). Я создал бизнес-уровень приложения, и теперь мне нужно добавить функциональность веб-сайта конечного пользователя.Где загрузить и как использовать сертификат PKCS № 12 в веб-приложении весны

Мои вопросы:

  • хранения файлов - где разместить закачанный сертификат? (честно говоря, я никогда не реализовал файл, загруженный в веб-приложение Java, - где находятся общие файлы? В базе данных, на диске или в другом месте?)
  • Keystore - это хорошая идея создать новый keystore каждый раз, когда пользователь загрузить новый файл сертификата или обновить существующее хранилище ключей? Где разместить хранилище ключей для доступа к KeyStoreFactoryBean? Какова наилучшая практика для этого сценария?

спасибо.

ответ

0

Обратите внимание на PKCS#12 это хранилище ключей, но я предлагаю извлечь ключи и включить их в качестве ключевого приложения магазина вместо использования файла непосредственно

С главным хранилищем ключами вы можете контролировать местоположение, контроль доступа и конфигурацию кода подписи SOAP.

В то время как сохранить файл PKCS12 имеет недостатки:

  • PKCS # 12 файл потребуется сохранить пароль для расшифровки его.

  • Хранение файлов непосредственно на диске зачастую проблематично: разрешения, имена, контроль доступа и т.д.

  • конфигурация подписи SOAP будет сложным с именами переменных файлов. Например, в известной структуре WSS4J конфигурация выполняется с помощью файлов конфигурации. Невозможно настроить путь хранилища ключей во время выполнения (возможно, это изменилось ...)

  • Загруженные файлы, вероятно, не будут находиться в пути к классам. Конфигурация пружины для загрузки ресурсов проще, используя путь класса, а не путь абсолютной директории