Я использовал OpenSSL в качестве центра сертификации X.509. Поскольку для создания сертификатов потребуется несколько компьютеров, я экспортировал папку центра сертификации в распределенную файловую систему.
Когда я стресс-тестирую свой ЦС, делая сотни одновременных запросов на подпись сертификатов, я иногда вижу странные ошибки, такие как
unable to rename ./index.txt.attr.new to ./index.txt.attr
reason: No such file or directory
Я не уверен, является ли это ошибкой OpenSSL или проблемой с моей распределенной файловой системой, но использование текстовых файлов для хранения всех данных сертификата, как правило, плохо подходит для одновременного доступа, поэтому я предпочел бы перейти на более надежную архитектуру, чем отлаживать эту конкретный вопрос.
В идеале я хотел бы, чтобы центр сертификации сохранял свое состояние в надлежащей базе данных, а не в текстовых файлах. Не похоже, что OpenSSL может это сделать. Документация для параметра базы данных на http://www.openssl.org/docs/apps/ca.html#CONFIGURATION_FILE_OPTIONS гласит:
the text database file to use. Mandatory. This file must be present though initially it will be empty.
Может ли кто-нибудь порекомендовать хороший центр сертификации X.509 с открытым исходным кодом для Linux?