我遇到了一个非常奇怪的问题,我根本无法理解它为什么会发生。
我有一个客户端和一个服务器。这两个应用程序通过 SOAP Web 服务进行通信。现在,在能够与服务器通信之前,客户端必须在服务器的网站上注册并上传数字证书。服务器将数字证书保存在数据库中。
当客户进行 Web 服务调用时,他会发送详细信息以及使用他上传到供应商网站上的数字证书的私钥连接在一起的详细信息的数字签名。
然后客户端将详细信息和数字签名发送到服务器。服务器识别客户端,从数据库中检索他的证书并提取公钥以验证数字签名。
一件奇怪的事情是,双方的公钥完全一样。
另一个奇怪的事情是,当我在服务器上更改代码时,不是从数据库中检索证书,而是从证书存储中检索它(就像我在客户端中所做的那样),数字签名正确匹配。
我真的不知道怎么了。有人可以帮忙吗?我会非常感激。