решение от уважаемого Fi5t я сейчас протестирую. Но вопросы конечно есть...
в данный момент я реализовал враппер над SharedPreferences, который смотрит, если api < 23 то юзает KeyPairGeneratorSpec и велосипедит свои преференсы над дефолтными, в виде делегата. Если > 23 то юзается напрямую коробочное решение от google EncryptedSharedPreferences.
Помимо этого есть ещё другие открытые префы, которые просто хранят в себе sdk, чтобы когда пользователь обновил ОС телефона (это кстати ещё один момент когда keystore может пострадать), я чекнул этот переход, и перевёл его на новые префы.
но тут много подводных камней и нюансов. Есть ситуация, когда я просто напросто не смогу восстановить префы. Это очень плохо и именно за этим я сюда написал, сталкивался ли кто либо с этим в таком ключе.