I am still new to security issues so my problem may actually be just a misunderstanding.
The system I am working has the requirement that users should sign/timestamp data somewhere in the web application. However, in order to sign with a digital certificate, users should input their privates keys on the system. Giving the fact that a third party is involved, we as a company should guarantee that only the end user is allowed to sign/timestamp data.
The only way I see out of this, is to create a desktop application, that can certificate data. But still I should need somewhere the ability of timestamping, and this would require communication with an external server, which could be a way of our company 'stealing' their private keys.
Is there a pattern for signing/timestamping data on the Internet and specifically on a web app? How could this be implemented?