javascript - 如何在 javascript 中解密 PKCS#8 加密的私钥

标签 javascript servicenow

我正在研究 ServiceNow - 使用 rest API 的 BOX 集成。为了生成访问 token ,我需要生成一个 JWT。

我需要一个私钥来签署 JWT。

他们提供了私钥,但它是加密格式的。

-----BEGIN ENCRYPTED PRIVATE KEY-----
*******Key here********** 
-----END ENCRYPTED PRIVATE KEY-----

我还获得了用于解密的密码。

我不确定如何在 ServiceNow 中解密上面的私钥。

他们在这里给出了其他语言的例子:https://developer.box.com/docs/construct-jwt-claim-manually#section-2-decrypt-private-key

请帮助我在 javascript 纯实现中完成这项工作。

谢谢,

阿里

最佳答案

从您上面发布的内容来看,您似乎收到了 PKCS#8 格式的 key https://en.wikipedia.org/wiki/PKCS_8

从一些快速谷歌搜索来看,这个库可能是提取此值的最佳选择。 https://github.com/kjur/jsrsasign

这是该库中对此进行解码的代码:

https://github.com/kjur/jsrsasign/blob/d282c71cee92000c4807bcbf2212fedf3f22bd84/src/keyutil-1.0.js#L77

https://github.com/kjur/jsrsasign/blob/d282c71cee92000c4807bcbf2212fedf3f22bd84/src/keyutil-1.0.js#L557-L571

这里他们在单元测试中使用。可能与您需要调用的方式类似。

https://github.com/kjur/jsrsasign/blob/d282c71cee92000c4807bcbf2212fedf3f22bd84/test/qunit-do-crypto-sigini.html#L222

关于javascript - 如何在 javascript 中解密 PKCS#8 加密的私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53552068/

相关文章:

javascript - 检查 Node.js 中 json 对象是否未定义

javascript - 我们如何访问 facebook graph API 返回的位置的纬度和经度?

ServiceNow 报告以提取与更改相关的数据

c# - Web 服务未以正确格式返回数据

oauth-2.0 - ServiceNow `OAuth 2.0` 授权端点和 token 端点

java - 现在使用 REST Web 服务将 Avaya IVRS 与服务集成

javascript - 必须为 EventListener 按两次键(javascript)

javascript - 使用所需的键过滤 JSON

javascript - 即使阈值高于 HighStock 中的最大 y 轴值,也显示阈值线

javascript - 修复桌面上 div 的移动 View