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

如何验证自签名证书的数字签名?

范鸿畅
2023-03-14

我的手被https、ssl、PKI之类的东西弄得脏兮兮的。对于自签名证书,有一点我不太理解。假设我想创建一个自签名证书,并在我们想要建立安全连接时将其发送给我的朋友。

所以步骤是:

  1. 创建一个私钥。
  2. 创建一个公钥。
  3. 用我的公钥在证书上签名。

因此,当我的朋友得到我的证书时,他必须验证他得到的证书是我的,他需要解密数字签名。但为了解密和验证他必须拥有我的私钥。所以,我有点困惑。

共有1个答案

姬阳曜
2023-03-14

你把事情颠倒过来了。你用你的私钥签名,只有你有。

在签名中包含公钥,以便收件人可以“验证”签名计算是否正确。

但自签名证书不能保证发送者的身份,因为无法独立验证签名的数据/文档是否来自假定的签名者。

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

  • 我试图使用Terraform创建一个自签名证书,以便在测试/开发环境中内部使用。 我首先创建一个CA私钥,自签名证书。 然后,为要启用HTTPS的内部域名创建证书签名请求和私钥。 然后我在证书上签字。以下是我使用的整个Terraform清单: 我查了Terraform舱单。然后我从状态文件中提取生成的证书并将它们保存到文件中。 我试图用openssl验证最终证书,但得到一个错误: 你知道问题出在哪

  • 我创建了一个自签名证书,并将CA证书导入到受信任的根证书颁发机构中,但Chrome仍然给我。我遵循了https://gist.github.com/jchandra74/36d5f8d0e11960dd8f80260801109ab0本指南。在Chrome中打开域时,PEM编码链会给我服务器和我提供的证书。我将下的和都设置为并启动了。我怎么调试这个?我如何检查Chrome是否看到我导入的CA,以及

  • 在我的应用程序中,我有一个公钥(表示为字符串),普通消息和数字签名,表示为base64编码字符串,用SHA256散列,用RSA加密)。现在,我需要验证数字签名。我试图做如下操作: 从创建(取自此处) 根据原始消息创建SHA256摘要 使用函数验证签名 (我正在努力避免使用OpenSSL函数) 此外,我的数字签名是使用Java的SHA256withRSA方法创建的。我在这里读到SHA256WithR

  • 问题内容: 我想签署我的应用程序,但是我不希望它的用户在安装我的应用程序之前在他们的手机上安装证书。是否可以使用自签名证书对j2me midlet进行签名? 问题答案: 这是可能的,为此您需要从Verisign购买签名证书。我确实有相同的签名证书,费用为20000卢比(一次)。

  • 我正在尝试从我的android应用程序访问HTTPS url。我有服务器端的自签名证书(server_certificate.cer)。 我想知道如何添加自签名证书到volley网络请求信任我的自签名证书。使用http://blog.applegrew.com/2015/04/using-pinned-self-signed-ssl-certificate-with-android-volley/