Да, так делают, криптопро csp или другой csp можно встроить в приложение.
Но:
1. Нужно покупать лицензии с запасом. Если у тебя 100к установок приложения, то нужно 100к лицензий.
У криптопро есть вариант чуть более дешёвых лицензий для мобильных приложений с использованием цифрового рубля. Если у тебя приложение не работает с цифровым рублём, то только фуллпрайс - 3700р за штуку. 100к установок - 3 миллиарда и 700 миллионов рублей только на лицензии CSP. А ещё тебе наверняка понадобится техподдержка и серверные компоненты.
Вероятно есть смысл зайти к ним отдел продаж и договориться о каком-нибудь более выгодном предложении. Либо использовать не криптопро, а что-то другое.
2. Внимательно прочитай "Постановление Правительства РФ от 16.04.2012 N 313"
3. Внимательно прочитай "Положение ПКЗ-2005"
Чистый PWA не получится использовать. Работа с CSP или мобильным SDK другого решения должна быть в нативной части приложения.
UPD: дополнение к
Пума Тайланд. Есть ещё вариант с КриптоПро Ключ (который по сути DSS 3.0). С ним возможно выйдет дешевле, так как стоимость лицензий будет расти не так быстро от количества пользователей, как в случае с использованием CSP + будет защита от компрометации ключей в случае компрометации устройства пользователя, но тут будет гораздо сложнее инфраструктура на стороне сервера. Надо смотреть на конкретный сценарий подписания.
https://cryptopro.ru/sites/default/files/products/...
(там сразу в конце идёт список того, что можно/нужно купить)
Оба способа требуют получения лицензий от регуляторов.
Так что считай, что будет выгоднее - использовать имеющуюся схему, когда пользователь сам загружает подписанный самостоятельно документ в приложение или сделать подписание внутри приложения.