【发布时间】:2019-02-02 07:45:05
【问题描述】:
我正在尝试使用 nimbusds 库验证从 PingAccess 接收到的 EC 类型算法的 JWT 令牌。它不适用于所有环境。但是它们都具有相同版本的 Java。某些环境无法生成具有密钥规范的 ECPublickey 对象,因此无法从远程密钥集中找到匹配的密钥。有人对使用 EC 算法的 JWT 令牌有类似的经验吗?如何知道环境中是否存在EC算法?来自这里的文档,https://docs.oracle.com/javase/8/docs/api/index.html?java/security/KeyFactory.html,
Java 平台的每个实现都需要支持 以下标准 KeyFactory 算法:
DiffieHellman DSA RSA
它没有提到EC算法,但在这里列出:https://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#KeyFactory
在 nimbusds ECKey 类中,跟踪停止在这一行:
ECPublicKey ecPublicKey = (ECPublicKey)keyFactory.generatePublic(publicKeySpec);
关键工厂是:
keyFactory = KeyFactory.getInstance("EC");
【问题讨论】:
标签: java jwt openid elliptic-curve