Общепринятой лучшей практикой считается использование отключенных от сети корневых удостоверяющих центров, a.k.a., offline root CA. Кроме того, не рекомендуется хранить закрытый ключ в файле, потому, что файл легко скопировать незаметно. Топовые HSM, типа Thales, стоят дорого: весь проект, включая пару HSM, установку и обучение сотрудников может встать в сотни тысяч долларов, что запретительно дорого для многих компаний. AWS CloudHSM обойдётся в сумму порядка десяти тысяч долларов в год.
Тут я расскажу, как из скриптов и палок собрать на коленке offline root CA с хранением закрытых ключей на YubiHSM. YubiHSM - это недорогой, стоимостью всего несколько сотен долларов, HSM, выполненный в виде USB модуля.