当前位置: 首页 > 知识库问答 >
问题:

使用数字证书和数字签名的安全认证

冯永长
2023-03-14

我正在通过PKI开发身份验证。我是通过PKI认证用户的新手,所以在网上阅读后,我想出了这个解决方案。用户将创建公钥和私钥。为了验证公钥,用户将申请数字证书。数字证书将具有公钥、用户的元数据和证书颁发机构的数字签名。为了证明没有数据被篡改,用户将使用数字签名,这将是证书与用户私钥的哈希。用户将向服务器发送数字证书、数字签名和数据。

作为响应,服务器将验证数字证书并获取公钥以验证数字签名,验证后,服务器将使用公钥加密数据并发送给用户。我还使用https安全传输信息。

现在我不明白如何务实地做到这一点。

  1. 从那里我可以得到数字证书,主要是哪些是可信的CA?
  2. 我发送证书验证证书的证书授权中心是否有REST API?
  3. 是否有任何库解析证书以提取信息?

对不起,我是数字证书和数字签名方面的新手。

共有1个答案

劳和歌
2023-03-14

为了证明没有数据被篡改,用户将使用数字签名,这将是证书与用户私钥的哈希。

不,数字签名是使用私钥在消息数据上生成的。证书用于验证它

作为响应,服务器将验证数字证书并获取公钥以验证数字签名,验证后,服务器将使用公钥加密数据并发送给用户。我还使用https安全传输信息。

>

  • 在注册过程中,您应该将公钥与用户帐户相关联

    对于https,额外的加密是多余和无用的

    使用公钥(假设RSA)的加密仅限于密钥大小。

    从哪里可以得到数字证书,主要是哪些是可信的证书?

    每个浏览器都有自己的受信任列表。此外,欧盟还有一份合格证书提供商名单。名单是不同的。

    您也可以建立自己的CA

    证书授权中心是否有任何REST API,用于发送证书以验证证书?

    请求证书的消息格式是标准化的(pkcs#10),但是与CA的连接协议不是。CA有可能具有REST服务,但是在任何情况下,如果不验证证书中包含的用户数据,证书永远不会由CA颁发

    是否有任何库可以解析证书以提取信息?

    当然,搜索你的编程语言

  •  类似资料:
    • Java安全加密专题文章索引 Java安全加密:对称加密 Java安全加密:非对称加密 Java安全加密:消息摘要Message Digest Java安全加密:数字签名和数字证书 Java安全加密:Https编程 1. 数字签名 1.1 概述 数字签名是非对称加密与数字摘要的组合应用 1.2 应用场景 校验用户身份(使用私钥签名,公钥校验,只要用公钥能校验通过,则该信息一定是私钥持有者发布的)

    • 由认证机构签署的X509数字证书包含这两个字段。1.签名算法2.签名值我知道“签名算法”字段包含认证机构用来签署证书的哈希算法。“签名值”是哈希计算的签名。我的问题是哈希处理的数据是什么?是作为企业社会责任(证书签名请求)一部分的公钥还是整个企业社会责任的公钥?

    • 我的手被https、ssl、PKI之类的东西弄得脏兮兮的。对于自签名证书,有一点我不太理解。假设我想创建一个自签名证书,并在我们想要建立安全连接时将其发送给我的朋友。 所以步骤是: 创建一个私钥。 创建一个公钥。 用我的公钥在证书上签名。 因此,当我的朋友得到我的证书时,他必须验证他得到的证书是我的,他需要解密数字签名。但为了解密和验证他必须拥有我的私钥。所以,我有点困惑。

    • 我正在开发一个功能来对某些内容进行数字签名。我有一个带有私钥的有效证书。如何使用私钥和充气城堡进行数字签名? 我尝试了以下方法,但想要一些正确的方法来实现同样的使用充气城堡: 谢谢!

    • 我在iText web上遵循了这个示例(http://gitlab.itextsupport.com/itextsharp/tutorial/blob/master/signatures/chapter5/C5_03_CertificateValidation/C5_03_CertificateValidation.cs),但结果与我预期的不一样。具体地说,当试图通过OCSP或CRL验证签名时,结

    • 我有字节数组格式的公钥。在我的数据库里。像这样 在此处输入图像描述 总是suc=false。我确信bytetoverify的值与方法符号中的输入值相同。 我不知道我用这种方式生成公钥是问题还是符号有问题。在符号方法中,我使用sh1和pkcs1,但在验证中,我只找到sh1。 每个人都能帮我吗?