Я работаю над проектом, в котором встроена двусторонняя аутентификация (это REST-сервис с различными конечными точками и всем остальным и базой данных PostgreSQL).Все работает хорошо и без проблем, но следующая задача - обеспечить безопасность.Товарищи по команде разработали двухстороннюю аутентификацию с SSL (у них есть хранилище доверия и хранилище ключей).Теперь приложение имеет доступ https и работает отлично.Моя следующая задача - прочитать сертификаты из хранилищ и сохранить их в базе данных.Я также проинструктирован использовать KeyStoreSpi строго и нуждаюсь в помощи, так как я не знаю, как это сделать.После долгих часов поиска в Интернете я не могу найти удовлетворительных ответов или какой-либо помощи на самом деле.Тысячи различных фрагментов кода, которые не отвечают даже на базовые вопросы.
Хранилище ключей и хранилище доверенных сертификатов, а также многие другие файлы находятся в папке ресурсов проекта в разделе ресурсы / клиент, ресурсы / сервер ив ресурсах также есть файлы keystore.p12 и trustStore.jks.
Любая помощь будет принята с благодарностью.Заранее спасибо
Итак, что я сделал до сих пор:
- создал интерфейс JPA с методом сохранения сертификата
- хранилище для его реализации
- сущность сертификата (пустая, потому что я действительно не знаю, что туда поместить)
- попытался прочитать хранилища с помощью компонента:
data class StoreInfo (val trustStoreStream: InputStream, val keyStoreStream: InputStream)
@Bean
open fun getStoreConfiguration(securityRepository: SecurityRepository): StoreInfo {
var storeStream = FileInputStream("trustStore.jks")
var keyStream = FileInputStream("keyStore.p12")
var info = StoreInfo(storeStream, keyStream)
return info
}
и другой репозиторий, который реализует KeyStoreSpi, но я не уверен, как использовать какую-либо функцию, и я обнаружил, что документации не хватает.
Примечание: мой основной фон - .Net иНе Java PS: извините за мой английский.
Некоторые ссылки просматривают: