java - 在 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);
解决方案
推荐阅读
- reactjs - React Update Fetch on Checkbox Click
- ansible - Ansible yum 在远程服务器上安装 rpm
- react-native - 点击时如何使touchablehighlight保持黑暗?
- xml - 将 XML 导入 MS Access:非标准 xml?
- django - 没有帖子与给定的查询匹配。虽然有些物品具有相同的蛞蝓
- amazon-web-services - 为什么我不能使用 VPC NACL 来加强安全性?
- javascript - 表单数据:使用选择选项中的值填充输入标签
- spring - 创建名为“amazonS3Client”的 bean 时出错:当前正在创建请求的 bean:是否存在无法解析的循环引用?
- c# - C# .NET Epplus - 查找具有特定名称的 excel 工作表,最好的方法来处理没有找到这样的工作表
- python - 在熊猫中,如何从单词列表或单词集中选择数据框中的短语?