Комментарии:
Нет, в целом, в целом, большая часть слов сказана правильно, вернее прочитана с педивикии и подобных ресурсов.
Но есть много мелких недоработок.
1) Криптопровайдер - программный (иногда программно-аппаратный) комплекс, который как вы тут сказали - осуществляет криптографические функции, а говоря русским языком - позволяет шифровать, расшифровывать, подписывать, снимать и проверять подпись.
2) Криптопровайдер завёрнут в библиотеки - полная чушь.
Криптопровайдер - комплекс. Состоит из библиотек, крипто-api и интерфейса обращения (в графическом виде или в командной строке). В составе библиотек прописаны математически алгоритмы, применяемые для шифрования, расшифровки, аутентификации, подписи и так дале.
3) КриптоAPI в составе криптопровайдера - не равно Microsoft CryptoAPI. В чём отличие?
КриптоAPI содержит команды обращения именно к этому продукту, будь то КриптоПро CSP, Vipnet CSP, Верба, КриптоКОМ и так далее. Но многие программы не знают этих команд обращения к криптопровайдеру. Именно поэтому используется мост -
Внешняя программа - Microsoft CryptoAPI - Вендорский КриптоAPI - Вендорский Криптопровайдер.
Почему так? Потому что в Microsoft CryptoAPI заложены стандарты PKCS#, то есть криптографии с открытым ключом, а значит - понимание контейнеров ключей, сертификатов, запросов на сертификаты, датчиков случайных чисел (через драйвера) и внешних устройств для сохранения ключей.
Потому для работы со всеми этими объектами, вендорскому криптопровайдеру не нужно знать все пути обращения к ним, тот же мост Вендорский КриптоAPI - Microsoft CryptoAPI.
Потому та схема, что была показана вначале - не совсем корректна, там нет промежуточного вендорского КриптоAPI.