Воспользуйтесь E-Token/Rutoken итп
https://ru.wikipedia.org/wiki/EToken внешне как флешка, внутри приватный ключ. Ключ не извлекается, генерация происходит внутри устройства, на выходе только подпись.
По опыту использования могу сказать следующее: перед началом - танцы с бубном, пока разберешься, зато потом высокий уровень безопасности, в случае утери можно быть спокойным, 3 попытки ввода пинкода, затем 10 длинного паккода, израсходовали - получили кирпич.