Проблема с подстановочным сертификатом на ядре asp.net с использованием Http.sys и сервисной фабрики - PullRequest
0 голосов
/ 13 февраля 2019

Я запускаю dev и тестирую кластер Service Fabric с использованием самозаверяющих ssl-сертификатов с типом прослушивателя http.sys без проблем.Теперь, когда я готовлюсь к производству, я создал настоящий сертификат SSL от DigiCert в качестве группового сертификата с рядом альтернативных имен субъектов.Однако при попытке вызвать это при локальном запуске для проверки конфигурации происходит сбой, и диагностическая информация сообщает

"Cannot find the certificate and private key to use for decryption".

При выдаче:

netsh http show sslcert

показано, что она правильно регистрируетсясертификат

    IP:port                      : 0.0.0.0:8113
    Certificate Hash             : 9e324673476570cc51a8dff7789f6cf8436cec38
    Application ID               : {c5f2a686-3b30-4490-b86e-cb88b15fd92b}
    Certificate Store Name       : My
    Verify Client Certificate Revocation : Disabled
    Verify Revocation Using Cached Client Certificate Only : Disabled
    Usage Check                  : Enabled
    Revocation Freshness Time    : 0
    URL Retrieval Timeout        : 0
    Ctl Identifier               : (null)
    Ctl Store Name               : (null)
    DS Mapper Usage              : Disabled
    Negotiate Client Certificate : Disabled
    Reject Connections           : Disabled
    Disable HTTP2                : Not Set
    Disable QUIC                 : Not Set
    Disable TLS1.3               : Not Set
    Disable OCSP Stapling        : Not Set

с отпечатком, который я советую использовать (9e324673476570cc51a8dff7789f6cf8436cec38) в элементе EndpointCertificate в ApplicationManifest.xml.Сертификат действителен с действительными ключами.единственное различие между этим сертификатом и самоподписанным dev / test - это атрибут Subject и Subject Alternative Name.У dev / test есть фиктивный домен, такой как dev.sample.com, но реальный - * .myrealdomain.com.

Любая идея, почему он выдает эту ошибку, когда явно существует действительный сертификат по этому отпечатку икак правильно зарегистрироваться в netsh?

Кроме того, этот же сертификат используется в качестве сертификата кластера, помещенного в хранилище ключей Azure, и прекрасно работает там, а также используется для другого домена в службе приложения без проблем.

1 Ответ

0 голосов
/ 13 февраля 2019

Мне удалось выяснить проблему, и она фактически не была связана с сертификатом SSL.После сужения и изоляции проблемы я обнаружил, что у меня есть зашифрованный параметр, который необходимо зашифровать с помощью моего нового сертификата шифрования (SecretsCertificate).Сообщение об ошибке вводило в заблуждение.То, что он должен был сказать, было ...

"Cannot find the certificate and private key to use for decryption of an encrypted Parameter"

Примечание для всех, кто использует SecretsCertificate.Если вы переключаете свой сертификат между различными средами, убедитесь, что ВСЕ зашифрованные параметры в ваших файлах manifest / cloud / local xml зашифрованы с помощью сертификата, на который вы ссылаетесь, с помощью отпечатка в SecretsCertificate.

...