В ядре .NET вы должны делать это на уровне HttpClient, а не использовать объект ServicePointManager, например
https://stackoverflow.com/a/44540071/1538039
Я ответил на аналогичный вопрос здесь - https://stackoverflow.com/a/55358543/1538039
В то время как вы можете обойти проверку таким образом, неправильный подход, если вы управляете сервером.Вы в основном говорите: «Я настроил сервер так, что мой клиент не может установить доверие, потому что он не доверяет цепочке сертификатов.Чтобы обойти это, я собираюсь принять все ошибки, добавив некоторый код '
Лучшее решение - настроить сервер с сертификатом, которому клиент может доверять, и тогда все будет просто работать !
Во время разработки, работая локально, если вы хотите использовать самозаверяющий сертификат, вы можете установить его в качестве корневого ЦС, и все должно работать как положено.
Как только вы дойдете до стадии, когда вы не контролируете клиента, вы, очевидно, не можете просить об этом людей.Единственное, что нужно сделать, это правильно настроить сервер с сертификатом, которому клиент может доверять, используя что-то вроде letsencrypt для генерации сертификата.