如何利用利用数字签名实现web登陆,支付宝等是怎么实现的呢?
其实,我是这么想的。我在服务端编程生成一个私匙和一把公匙,然后按照数字证书的格式,生成一个包含我这个公匙的数字证书(应该能实现吧?),然后让用户下载。这个证书还能存在证书存储区吗?这个证书是不受信任的。其实,我的主要目的,是在客户端调用这个数字证书的公匙加密用户名和密码,然后提交服务端用私匙解密进行验证。但是我一想,我只是把数字证书当做普通的一个文件来使用,那干吗不就用普通文件得了。另外,我想过,把一个唯一标示和公匙一起生成一个数字证书,然后在数据库存储唯一标示跟用户名的对应关系,这样,在客户端,我就不需要让用户输入用户名和密码,直接获得这个证书的唯一标示,然后跟从数据库取出这个标示对应的用户名从而进行权限控制。
让用户去下载CA中心的数字证书,用户肯定不愿做。编程似乎又很麻烦,也觉得不知该如何利用数字证书?
请各位朋友指教。
登陆后在服务端生成所谓的证书,实际上是用私钥加密用户敏感数据生成密文,如果有客户端的话,还可以在服务端用私钥为密文再次生成一个签名,然后客户端可以使用公钥验证这个签名。每次登陆就使用这个文件就好了,每次登陆能生成不同的密文证书,那就差不多了。
QQ群:.net技术组织 (57288576)欢迎有实力的朋友加入,一起探讨技术问题