2015-10-30 2 views
0

Я запускаю 2 HTTP-сервера IBM (7.0) на разных компьютерах, и я обновляю SSL-сертификаты для обоих. Сертификат является подстановочным сертификатом.Установка SSL-подстановочного сертификата на IBM HTTP Server

Я успешно обновил сертификат для сервера, на который я сгенерировал запрос на обновление, и все кажется ему хорошо.

Проблема возникает при попытке повторного использования сертификата на моем втором сервере. Я прочитал несколько сайтов, в которых указано, что мне нужно экспортировать сертификат с первого сервера (с помощью iKeyMan), а затем скопировать его на второй сервер. Затем создайте новый файл KDB и импортируйте сертификат. Я сделал это, и при просмотре содержимого нового файла KDB он кажется полным (у него есть все необходимые сертификаты - root, intermediate и т. Д.).

Однако, когда я пытаюсь использовать файлы (KDB и соответствующий файл STH) в конфигурации моего сервера, он терпит неудачу - сервер запускается, но мой сертификат не установлен.

Кто-нибудь знает, что я делаю неправильно?

+0

Вы пытались просто скопировать файлы '.kdb' и' .sth' на другой сервер? Вы проверяли ошибки в журналах IHS? Указывает ли директива 'SSLServerCert' метку сертификата в файле' .kdb'? –

+0

Да, я пробовал просто копировать файлы '.kdb',' .sth' и '.rdb' без успеха. Журнал ошибок содержит следующее: 'SSL Handshake Failed, указанный ярлык не найден в ключевом файле.' –

+0

Bingo. Я не понимал, что директива SSLServerCert должна соответствовать метке в .kdb. (Я заменяю существующий сертификат и не понимаю корреляцию). Это сработало, спасибо вам большое. Пожалуйста, отправьте ответ, и я приму его. –

ответ

0

Как указано в комментариях, значение директивы SSLServerCert должно соответствовать метке сертификата, который будет использоваться в файле .kdb. Использование служебных меток утилиты управления ключами (IKEYMAN) можно проверить в разделе Личные сертификаты.

2

Сообщение об ошибке «SSL рукопожатия Failed, указано метка не может быть найден в файле ключа» сообщается в файле журнала об ошибке IBM HTTP Server не удалось найти персональный сертификат, хранящийся в ключе KDB файл базы данных и из-за конфигурации SSL:

For example: 
Listen 0.0.0.0:443 
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so 

<VirtualHost 0.0.0.0:443> 
ServerName fullyqualifyname or site name. 
SSLEnable 
SSLClientAuth None 
</VirtualHost> 
SSLDisable 
KeyFile "c:/program files/ibm http server/key.kdb" 

Это наиболее часто используемая конфигурация SSL VirtualHost Stanza. IBM HTTP Server предназначен для поиска личного сертификата, хранящегося в файле базы данных ключей KDB, из раздела личного сертификата, помеченного как значение по умолчанию.

Откройте файл базы данных ключей KDB с помощью утилиты ikeyman, в разделе персонального сертификата, дважды щелкните имя метки сертификата или нажмите кнопку «Просмотр/Редактирование», чтобы отобразить контекст сертификата ключа и посмотреть в левом нижнем углу. поле для установки галочки на «Установите сертификат по умолчанию». После того, как установите флажок и нажмите кнопку OK, имя метки сертификата изменится:

From: 
*.ibm.com 

To: 
* *.ibm.com 

остановить и запустить IBM HTTP Server, чтобы распознавать изменения, сделанные в файле базы данных ключей КДБ. Повторите попытку отправки https-запроса на IBM HTTP Server. Теперь поиск веб-сервера находит и представляет персональный сертификат, помеченный как по умолчанию браузеру клиента во время установления связи SSL. Если есть только один персональный сертификат, хранящийся в ключевом файле IBM HTTP Server KDB, рекомендуется использовать этот метод. Используя директиву SSLServerCert с именем метки сертификата, это действительная опция. Однако это полезно и необходимо, если у вас есть несколько сертификатов, хранящихся в файле базы данных ключей, а также несколько настроек строфы SSL Virtualhosts. Просмотрите следующий IBM Technote, нажимая here, чтобы узнать, как настроить SSL в IBM HTTP Server.