Я использую настройки приложений. 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, куда приложение должно определенно иметь доступ даже без прав администратора, но без радости.
Любые идеи, которые могут привести к сбою, если он не работает с административные разрешения? Сертификат, как вы можете видеть, находится в хранилище сертификатов, а не в файловой системе, что исключает проблемы с разрешениями файлов.