Я разместил тикет с командой corefx здесь (который я сейчас закрыл): https://github.com/dotnet/corefx/issues/35163
Исключение вызвал файл, фактически содержащий цепочку сертификатов (он содержал несколько -----END CERTIFICATE-----
маркеров) - лежащая в основе Interop не поддерживает это в macOS.
По-видимому, Windows также использует только первый, с которым сталкивается, поэтому решение состояло в том, чтобы просто прочитать достаточно байтов из потока, пока этот маркер не будет достигнут(хотя нет причины, по которой вся цепочка не может быть извлечена как коллекция X509Certificate2
).
Как ни странно, файл, который я имел в моей сборке (который содержал цепочку сертификатов), отличается от файлаЯ ссылался на выше ... Мои благодарности и извинения @bartonjs, поскольку это не помогло бы!