1) узнать каким криптопровайдером создан приватный ключ, хранящийся на карте; при необходимости установить его на клиенте
2) решить, какая подпись Вас интересует - attached или detached
3) выбрать желаемый формат (например, PKCS#7)
4) считать данные на клиента, запросить криптопровайдер подписать блок памяти, записать результат в базу либо обратно (attached) либо в отдельный столбец (detached)
Весь процесс подписания с помощью смарт-карты происходит на клиентской стороне, т.к. ни один криптопровайдер не позволит Вам отправить приватный ключ на сервер.