- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道如何问这个问题,但我正在尝试使用来自网络的各种 Json Web Token 实现(无论是 java-jwt 还是 jjwt 等),它们都接受 RSAPrivateKey
作为签名过程的一部分。
但是我遇到的问题是,显然 mscapi.RSAPrivateKey
不提供与 java.security.interfaces.RSAPrivateKey
相同的 API,当我尝试时要为其编写包装类,我不知道如何编写 getEncoded
或 getFormat
(我猜我应该返回“RS256”或类似的内容)功能。
mscapi.RSAPrivateKey
?mscapi.RSAPrivateKey
转换为 java.security.interfaces.RSAPrivateKey
的正确方法是什么?最佳答案
不需要获取内容或包装私钥来签署 JWT。加密提供程序(在您的例子中是 mscapi)故意隐藏内容以防止其被提取,或者因为它在物理上不可用(例如使用智能卡)。但 mscapi 允许使用该 key 进行签名或加密,因此您的库没有理由不能使用 PrivateKey
实例(不是 RSAPrivate Key)对 jwt 进行签名
您描述的问题类似于 this 。看来 jjwt 试图强制转换 PrivateKey,而 mscapi 包装器没有实现通常的接口(interface)。
如果需要 getEncoded,我认为您不能在 mscapi 键上创建包装器,因为正如我所说,您无权访问 key Material 。所以我建议使用jjwt构建token(header.payload)并使用标准签名api自行签名
关于java - 如何使用 mscapi.RSAPrivateKey 进行 JWT 签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47399562/
我有一个小程序,允许用户使用他们的个人证书签署文档。该小程序已签名,但当它尝试加载其 keystore 时,我收到与 sunMSCAPI 相关的访问被拒绝错误。这是由以下代码行引起的: store =
我正在开发一个应用程序,该应用程序使用 Java 的加密扩展(更具体地说是 MSCAPI),通过 Web 浏览器使用用户的私钥对文件进行签名。我已经能够在本地成功完成此操作,但是当我将类嵌入网页并尝试
我们有客户端-服务器应用程序,我们使用 java web start 启动客户端应用程序。 在尝试打开客户端应用程序时,它首先从 https url(用于 SSO)读取 token 文件,然后打开另一
我正在编写一个程序,它需要与需要使用 SSL 客户端身份验证的 Web 服务器建立 HTTPS 连接。 此程序的用户将使用来自 windows 环境的证书来验证自己。 我找到了很多展示如何设置客户端身
我使用 BouncyCaSTLe 提供程序对数据进行 AES 对称加密,然后使用 RSA 非对称算法从使用 SunMSCAPI 提供程序从 Windows keystore 证书获取的公钥中封装 ke
我不知道如何问这个问题,但我正在尝试使用来自网络的各种 Json Web Token 实现(无论是 java-jwt 还是 jjwt 等),它们都接受 RSAPrivateKey 作为签名过程的一部分
我在我的应用程序中使用 Sun 的 MSCAPI 提供程序来检索签名证书。签名者的私钥是 sun.security.mscapi.RSAPrivateKey。IAIK 似乎无法识别此类(请参阅下面的错
我想使用 Sun 的 MSCAPIProvider 从 Windows 上的 Java 胖客户端的智能卡 (PKI) 获取用户的身份。目标是: 用户打开应用 提示要卡 提示输入 PIN 我获得了 Ja
我已经设法使用 Sun's MSCAPI provider在我的申请中。我现在遇到的问题是它总是弹出一个窗口,要求输入密码,即使我已经在代码中提供了它。这是个问题,因为我需要网络服务中的加密功能。 这
我想在 Java 中加载一个 MSCAPI keystore 并检查 MY 存储中的可用证书。但是,这些证书的一些 key 驻留在硬件 token 上,并且弹出窗口会在加载期间询问 token 。 有
我正在尝试弄清楚如何使用 MCSAPI 通过 ncipher 加密服务提供程序 (CSP) 进行 AES 加密。令我困惑的是,AesCryptoServiceProvider 构造函数不接受用于将 n
我是一名优秀的程序员,十分优秀!