Если это внутренняя штука "для себя" и не подразумевается никакого юридически значимого документооборота (например алгоритм RSA) то достаточно php'шного openssl, для какого нибудь ГОСТ нужен северный CSP, который работает с php (пробовал с КриптоПро CSP - работает) и openssl
Если вы не являетесь сотрудником конторы, которая будет потом все это эксплуатировать, то вам для разработки таких вещей (подписание/шифрование) нужно лицензировать свою деятельность, потом сертифицировать то что создадите. Ну и таки да, если это будет обслуживать не одного единственного человека, то передавать ЭЦП вообще плохая идея. Подписывать нужно в браузере