gpt4 book ai didi

java - Android 6 上ecdsa-with-SHA384 的签名验证问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:05:48 25 4
gpt4 key购买 nike

我在验证使用 ECDSA 和 SHA384 在 Android 6.0 及更高版本上签名的证书时遇到问题。但是,它适用于 Android 4.1 - 5.1。我追踪到它是 Certificate 类中的一个错误。 verify方法抛出异常:

java.lang.RuntimeException: error:0f092074:elliptic curve routines:ec_asn1_pkparameters2group:NON_NAMED_CURVE

知道为什么 Android 6.0 会发生这种情况吗?如何解决?我已经使用 SpongycaSTLe 作为安全提供程序对其进行了测试,但验证函数总是抛出该异常。

感谢和问候

最佳答案

终于找到了问题 - 不是签名验证本身的问题,而是加载持有 ec 公钥的中间证书的问题。

    Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Unable to load Public Key
2536673920:error:0f092074:elliptic curve routines:ec_asn1_pkparameters2group:NON_NAMED_CURVE:external/boringssl/src/crypto/ec/ec_asn1.c:225:
2536673920:error:0f07f076:elliptic curve routines:d2i_ECPKParameters:PKPARAMETERS2GROUP_FAILURE:external/boringssl/src/crypto/ec/ec_asn1.c:253:
2536673920:error:0f08000f:elliptic curve routines:d2i_ECParameters:elliptic curve routines:external/boringssl/src/crypto/ec/ec_asn1.c:503:
2536673920:error:0608808f:public key routines:eckey_type2param:DECODE_ERROR:external/boringssl/src/crypto/evp/p_ec_asn1.c:140:
2536673920:error:0608600f:public key routines:eckey_pub_decode:elliptic curve routines:external/boringssl/src/crypto/evp/p_ec_asn1.c:180:
2536673920:error:0b07c07c:X.509 certificate routines:X509_PUBKEY_get:PUBLIC_KEY_DECODE_ERROR:external/boringssl/src/crypto/x509/x_pubkey.c:168:

这引出了一个问题 - 为什么 BoringSSL 在解码此证书中的公钥时会出现问题?我想这一定是 BoringSSL 中的错误。我用 OpenSSL 检查了证书,没有发现任何问题。

当加载中间证书并稍后验证文档签名证书的签名时显式使用 SpongycaSTLe Provider 时,一切正常。

关于java - Android 6 上ecdsa-with-SHA384 的签名验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37677755/

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