在 Java 中使用 base64 编码的公钥

问题描述

一个应用程序使用以下命令创建一个 base64 编码的公钥:

openssl ecparam -genkey -name prime256v1 -out ecdsa.pem
openssl ec -noout -text -conv_form compressed -in ecdsa.pem | grep '^pub:' -A 3 | tail -n 3 | tr -d ' \n:' | xxd -r -p | base64

我如何在 Java 中使用这个公钥?根据我的研究,它应该可以使用此代码,但我得到一个例外,即密钥太长:

EncodedKeySpec publicKeySpec = new X509EncodedKeySpec(Base64.getDecoder().decode("base64-from-above");
KeyFactory keyFactory = KeyFactory.getInstance("EC");
PublicKey publicKey = keyFactory.generatePublic(publicKeySpec);

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)