Я пытался настроить несколько SSLCACertificateFile
в одном виртуальном хосте, но очевидно, что apache принимает только запросы с ca_sha256.cer
в качестве корневого сертификата, есть ли способ поддержать оба SSLCACertificateFile
в одном виртуальном хосте без создание отдельных виртуальных хостов
SSLCACertificateFile "C:/apache/conf/ca_sha1.cer"
SSLCACertificateFile "C:/apache/conf/ca_sha256.cer"
Нет, это невозможно, и вы должны скомкаплектовать оба файла вместе, чтобы можно было использовать один файл со списком всех ЦС в нем.
Самый простой способ сделать это, чтобы сертификаты находились в каталоге, чтобы у них было имя файла, а затем использовать SSLCACertificatePath.
Процесс создания имеет имена файлов для каждого звена подробно описан здесь:
Когда вы устанавливаете несколько сертификатов ЦС в одном каталоге, вы можете вычислить хэш для каждого файла (NAME-OF-CA-FILE) с помощью команды:
openssl x509 -noout -hash -in NAME-OF-CA-FILE
Как только вы узнаете хэш (HASH), вы можете переименовать файл так. OpenSSL может найти его:
mv NAME-OF-CA-FILE HASH.0
Однако, это немного недружелюбно для системного администратора, так как не очевидно, какие сертификаты ЦС присутствуют. Так много людей сохранить оригинальное имя файла и создать символическую ссылку к этому файлу для OpenSSL:
ln -s NAME-OF-CA-FILE HASH.0
Таким образом, OpenSSL может найти правильный сертификат ЦС эффективно, и системные администраторы могут знать, какие сертификаты ЦС присутствуют.