Краткий ответ, Нет, вы не можете обойти это, и когда дело доходит до сертификатов, даже не пытайтесь. Сначала клиент проверяет сертификат и всю цепочку сертификатов, чтобы убедиться в его надежности. Если какая-либо часть этой цепочки (например, эмитент) не является доверенной, то она не является доверенной. Если этого фундаментального факта не произойдет, то не будет способа отозвать сертификаты.
Для самозаверяющих сертификатов, поскольку они не являются доверенными, вы правы, на самом деле у клиента есть только 2 варианта:
- Игнорировать происхождение сертификата и вслепую подключаться с помощью переключателя
-SkipCertificateCheck
.
- Примите, что эмитент и полная цепочка можно доверять, и импортируйте сертификат
Вы не можете обойти этот фундаментальный факт. Мне нравится использовать пример: самозаверяющие сертификаты - это все равно, что доставлять объект в форме бомбы клиенту с наклейкой на нем: «Не бомба - поверь мне, я @Paxz». Цепочки сертификатов похожи на удерживаемые в форме бомбы объекты, вы смотрите на водителя доставки, они выглядят очень тенистыми и в то же время совсем не похожи на @Paxz. Затем у вас есть выбор: либо игнорировать наклейку, либо принять, что я могу доверять @Paxz и сомнительному водителю доставки. Вы не можете просто протолкнуть пакет через входную дверь без явного согласия. Когда вы доверяете всей цепочке, на наклейке будет написано: «Не бомба - поверьте мне, я был проверен экспертами по бомбам», так как вы доверяете экспертам по бомбам, клиент примет пакет без вопросов.