Разрабатывая один проект на свежем .NET 7 столкнулся с необходимостью подписывать данные с использованием отечественных криптоалгоритмов. Ранее, в .NET Framework хорошая поддержка работы с со сторонними криптопровайдерами, реализующими семейство алгоритмов ГОСТ (CryptoPro CSP, ViPNet CSP и пр.), шла "из коробки". По старой памяти набросал код с использованием SignedCms
, и voilà:
System.Security.Cryptography.CryptographicException: 'Could not determine signature algorithm for the signer certificate.'
Ясно-понятно, что в новом фреймворке старые работающие технологии помножились на ноль.