Назад | Перейти на главную страницу

Apache SSL без закрытого ключа

В настоящее время мы работаем с клиентом, которому требуется аутентификация SAML для настройки своего сайта контроля качества на наших серверах. Они отправили нам файл CRT для установки SSL, но не отправили ключ. Я знаю, что SSL требует как минимум файлов .crt и .key для завершения рукопожатия, но они требуют, чтобы я сделал это без файла .key.

Мой вопрос: возможно ли это вообще? Это непонятная конфигурация apache, которую никто не пытался, потому что она не имеет смысла? Я просмотрел все виды документации и ничего не нашел.

Конечно, я получаю сообщение об ошибке при попытке запустить apache без ключа:

AH02238: Unable to configure RSA server private key
SSL Library Error: error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch

Это ожидалось, но теперь я надеюсь найти решение.

Спасибо!

Это полностью зависит от того, как предполагается использовать этот сертификат.

Для многих целей вам понадобится полная пара ключей, но я могу представить и другой сценарий:

  • ваш клиент мог отправить вам открытый ключ (fi своего внутреннего ЦС), чтобы вы могли использовать его для проверки подписей SAML в их сообщениях, для проверки защищенного TLS-соединения с ними или для проверки используемых ими клиентских сертификатов. В этом случае вам не нужно и никогда не следует получать связанный закрытый ключ ...

  • Возможно, один из ваших коллег отправил CSR, а подписанный сертификат - это ответ ваших клиентов; тогда у вас уже должен быть закрытый ключ, а у вашего клиента наверняка нет ...

Вы можете сначала проверить сертификат с помощью: openssl x509 -in <filename>.crt -noout -text -purpose

Чтобы SSL работал, .key ДОЛЖЕН сопровождать .crt (работают в паре, так как .key это закрытый ключ).

если вам / им нужно SSL в вашем Apache вы можете сгенерировать самоподписанный (или фиктивный) сертификат, который вы получите .key и .crt (или просто .pem), который можно использовать со своим Apache.

или, возможно, лучше было бы использовать Давайте зашифровать:

Let's Encrypt - это новый центр сертификации: он бесплатный, автоматизированный и открытый.

Нет. Это было бы совершенно бессмысленно с системой аутентификации с открытым и закрытым ключом.

Вы можете получить сертификат каждого веб-сайта, который использует HTTPS (взгляни на это как). Подумайте, что вы можете сделать в местных условиях, если то, о чем вы просите, было выполнимо? Вы можете легко выдать себя за Google, Facebook или любой веб-сайт, приложив немного усилий.