使用SM2签名验签时报错:
Exception in thread "main" cn.hutool.crypto.CryptoException: InvalidKeySpecException: encoded key spec not recognized: unknown object in getInstance: org.bouncycastle.asn1.DEROctetString
at cn.hutool.crypto.KeyUtil.generatePrivateKey(KeyUtil.java:267)
at cn.hutool.crypto.KeyUtil.generatePrivateKey(KeyUtil.java:247)
at cn.hutool.crypto.asymmetric.SM2.<init>(SM2.java:82)
at cn.hutool.crypto.SmUtil.sm2(SmUtil.java:84)
看了很多解决办法都说是JDK的原因,但是实际上是hutool-all依赖版本的问题,报错时我使用的是5.4.0版本,更新到5.8.18版本后就不报错了
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.8.18</version> </dependency>
若遇到相同的问题,可按照此操作,尝试是否能解决问题