我正在通过PKI开发身份验证。我是新手,通过PKI认证用户,所以在网上阅读后,我想出了这个解决方案。用户将创建一个公钥和私钥。要验证公钥,用户将申请数字证书。数字证书将具有公钥、用户的元数据和证书颁发机构的数字签名。为了证明没有数据篡改,用户将使用数字签名,这将是证书的哈希与用户的私钥。用户将向服务器发送数字证书、数字签名和数据。
服务器响应验证数字证书并获取公钥以验证数字签名,验证后服务器使用公钥加密数据并发送给用户。我还使用https来安全传输信息。
现在,我对如何务实地做到这一点感到困惑。
对不起,我是数字证书和数字签名的新手。
发布于 2019-05-14 16:01:21
为了证明没有数据篡改,用户将使用数字签名,这将是证书的哈希与用户的私钥。
不,数字签名是使用私钥在消息数据上生成的。该证书用于验证它。
服务器响应验证数字证书并获取公钥以验证数字签名,验证后服务器使用公钥加密数据并发送给用户。我还使用https来安全传输信息。
我从哪里可以得到数字证书,主要是哪个是可信的CA?
每个浏览器都有自己的可信列表。此外,在欧盟,有一份合格证书提供者的名单。名单是不同的。
您还可以构建自己的CA。
在我发送证书以验证证书时,证书颁发机构是否有REST?
请求证书的消息格式是标准化的(pkcs # 10),但与CA的连接协议不是。CA可能有REST服务,但是在任何情况下,如果不验证证书中包含的用户数据,CA将永远不会颁发证书。
是否有任何库来解析证书以提取信息?
当然,搜索您的编程语言。
https://stackoverflow.com/questions/56127832
复制相似问题