Я ASP и IIS нуб. Я живу в терминале Linux, так что это крутая кривая обучения ...
У меня есть C # Web API, написанный на .Net 4.6. Web API связывается с третьим
Сторонняя веб-служба SOAP, которая требует, чтобы запросы SOAP были подписаны с использованием сертификата X509 с использованием стандарта WSE 2.0. Это все работает на моей локальной машине разработчика без проблем.
Я развернул приложение в AWS Elastic Beanstalk Env, используя IIS 10 и Windows Server 2016 Data Center. Веб-API не работает для любых функций, которым необходим доступ к сертификату. Все остальные URL работают нормально.
Я импортировал сертификат в хранилище сертификатов локального компьютера. Это простой случай, когда я не настроил правильные разрешения.
Как проверить, что IIS имеет доступ к требуемому сертификату и какого пользователя мне нужно добавить в сертификат, чтобы обеспечить правильный доступ к приложениям IIS.
Я сделал следующее без удачи:
- Установите VS 2017 на сервер и успешно запустите консольное приложение, чтобы проверить, есть ли проблема в WSE 2.0. Работал нормально.
- Добавлен доступ на чтение к IIS_IUSRS по закрытым ключам для сертификата в MMC
- Добавлен доступ на чтение к IUSER по приватным ключам для сертификата в MMC
- Добавлен доступ на чтение к «IIS APPPOOL \ DefaultAppPool» на закрытых ключах для сертификата в MMC
- Изменено разрешение на доступ к папке RSA в директории Crypto Data Programs, поэтому не помню точный путь, который привел к взлому системы