【问题标题】:openssl RSA_verify succeeds after the openssl certificate is expired.openssl 证书过期后,openssl RSA_verify 成功。
【发布时间】:2018-09-09 09:51:53
【问题描述】:

我使用以下逗号创建了一个自签名的 openssl 证书。

  • openssl genrsa -des3 -out server.key 2048
  • openssl rsa -in server.key -out server.key
  • openssl req -sha256 -new -key server.key -out server.csr -subj '/CN=localhost'
  • openssl x509 -req -sha256 -days 10 -in server.csr -signkey server.key -out
  • cat server.crt server.key > cert.pem

使用 cert.pem 和 RSA_sign 函数,我在证书过期后(10 天后)创建了一个签名

上述签名的 RSA_verify 仍然成功。你能帮我解决这个问题吗?

最好的问候, 普尼玛.M

【问题讨论】:

    标签: c openssl rsa


    【解决方案1】:

    RSA_verify()会用rsa公钥验证签名,不处理公钥证书。

    公钥和密钥证书不是一回事,公钥驻留在公钥证书中。因此,当您从证书中提取公钥时,您只需检查其是否过期,如果过期则避免使用它

    【讨论】:

    • 非常感谢。我们生成一次证书并使用此证书,我们使用 RSA_sign 签署签名并使用 RSA_verify 进行验证。在这种情况下,我们不必担心证书的有效性,是吗?
    • 当然应该检查证书的有效性,但 RSA_verify 不会这样做,您必须通过其他方式进行,尝试使用 X509_get_notAfter() 获取证书的到期日期并根据当前日期对其进行验证
    • 明白了。感谢您的评论。
    猜你喜欢
    • 2017-07-05
    • 2018-02-27
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-30
    • 2012-09-20
    相关资源
    最近更新 更多