首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用mscapi.RSAPrivateKey进行JWT签名?

如何使用mscapi.RSAPrivateKey进行JWT签名?
EN

Stack Overflow用户
提问于 2017-11-20 19:23:45
回答 1查看 184关注 0票数 0

我不知道如何问这个问题,但我尝试使用来自Web的各种Json令牌实现(无论是jjwt还是jjwt等),它们都在使用RSAPrivateKey作为签名过程的一部分。

然而,我遇到的问题是,显然mscapi.RSAPrivateKey没有提供与java.security.interfaces.RSAPrivateKey相同的API,而且当我试图为它编写包装类时,我不知道如何编写getEncodedgetFormat (我猜我应该返回"RS256“或类似的)函数。

  1. 如何包装mscapi.RSAPrivateKey
  2. mscapi.RSAPrivateKey转换为java.security.interfaces.RSAPrivateKey的正确方法是什么?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-21 17:20:13

不需要获取内容,也不需要包装私钥来签署JWT。在您的示例中,加密提供程序故意隐藏内容以保护其不被提取,或者因为它在物理上不可用,例如,使用智能卡。但是mscapi允许使用该密钥进行签名或加密,因此您的库没有理由不能使用PrivateKey实例(而不是RSAPrivate密钥)对jwt进行签名。

您描述的问题类似于。似乎jjwt试图转换PrivateKey,而mscapi包装器没有实现通常的接口。

如果需要getEncoded,我不认为您可以在mscapi上创建一个包装器,因为正如我所说的,您无法访问键控材料。因此,我建议使用jjwt构建令牌(header.payload),并使用标准的签名api对其进行签名。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47399562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档