gpt4 book ai didi

ssl - 如何在树莓派上验证 openssl 证书?

转载 作者:太空宇宙 更新时间:2023-11-03 13:21:35 26 4
gpt4 key购买 nike

我正在使用树莓派创建一个测试网络。我的电脑将是 CA,我的 pi 零 W 是客户端。我在我的电脑上创建了一个自签名的 CA 证书,在 pi 上创建了证书请求,并在我的电脑上用 CA key 签署了请求。

当我在 pi 上验证证书时,出现错误。同样的命令,同样的文件,我的电脑上没有报错

树莓派上的错误:

$ openssl verify -verbose -CAfile ca.pem pi.pem
error 18 at 0 depth lookup: self signed certificate
error cert.pem: verification failed
# ca.pem is the ca self-signed cert. pi.pem is the cert signed by ca private key

在我的电脑上使用相同的文件:

$ openssl verify -verbose -CAfile ca.pem pi.pem
error cert.pem: verification failed
error 18 at 0 depth lookup: self signed certificate
OK
# ca.pem is the ca self-signed cert. pi.pem is the cert signed by ca private key

到目前为止我尝试了什么

  1. 在 pi 上重新安装 openssl
  2. 将pi上的openssl.cnf文件替换成我电脑上的
  3. 更改树莓派上的时间
  4. 角色互换:pi 作为 CA,计算机作为客户端。这导致验证在计算机上工作而不是 pi(和以前一样)
  5. raspbian 版本是 stretch 而不是 sun
  6. 尝试了自签名证书验证。验证在计算机和 pi 上的工作。

创建证书的过程:

# Server: https://support.symantec.com/en_US/article.TECH242030.html
openssl req -new -sha256 -out cert.csr
openssl x509 -req -days 365 -in cert.csr -signkey privkey.pem -sha256 -out cert.crt
openssl x509 -in cert.crt -out ca.pem -outform PEM

# Client:
openssl req -new -sha256 -out pi.csr
openssl x509 -req -days 365 -in pi.csr -signkey privkey.pem -sha256 -out pi.crt # <--- privkey.pem is the privkey of CA
openssl x509 -in pi.crt -out pi.pem -outform PEM

最佳答案

您的 CA 证书需要某种配置文件,否则它将使用 basicConstraints=CA:FALSE,这意味着它会创建一个自签名叶证书而不是 CA 证书。换句话说,您的证书是受信任的但不能用于签署其他证书

参见例如这里是如何创建一个链。

https://gist.github.com/Soarez/9688998

请注意,您还需要使用例如-CA-CAkey 所以请不要使用您自己的命令,只是一个配置文件。

关于ssl - 如何在树莓派上验证 openssl 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50420678/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com