Сертификат Kestrel Https, определенный в appsettings. json обнаружен только при работе в режиме администратора - PullRequest
0 голосов
/ 28 января 2020

Я использую настройки приложений. json для настройки Kestrel в приложении .netcore3.1. Вот соответствующие биты из appsettings. json

"Kestrel": {
"Certificates": {
  "Default": {
    "Subject": "certificate name",
    "Store": "MY",
    "Location": "LocalMachine",
    "AllowInvalid": true
  }
}

}, "AllowedHosts": "", "Urls": "http: // : 5010; https: // *: 5011 "

Если я запускаю приложение, оно появляется на обоих портах. Однако при обращении к нему через HTTP это исключение сбрасывается в консоль моего приложения

Microsoft.AspNetCore.Server.Kestrel [0] Необработанное исключение при обработке 0HLT41KHBJ13T. System.ComponentModel.Win32Exception (0x8009030D): учетные данные, предоставленные пакету, не были распознаны в System. Net .SSPIWrapper.AcquireCredentialsHandle (SSPIInterface secModule, пакет String, намерение CredentialUse, SCHANNEL_CR2) * 10 * 10 * 10 * 10 * 10 *

Однако, если я запускаю приложение с правами администратора, оно работает. Итак, сертификат в порядке (у него есть необходимый закрытый ключ), но все равно не работает. Просто для удовольствия, я импортировал сертификат в хранилище LocalUser, куда приложение должно определенно иметь доступ даже без прав администратора, но без радости.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...