javascript - JWT.io 签名验证
问题描述
我正在 Mirth 中创建一个 JWT 并将构造的消息发送到 oauth2 服务器,但它一直出错。当我将 JWT 放入 jwt.io 时,我得到了有效的标头和有效负载信息,但我的签名返回为无效,我不知道为什么。
我使用以下命令使用 openssl 创建了签名:
openssl req -new -x509 -key /path_to_key/privatekey.pem -out /path_to_key/publickey509.pem
在 Mirth 中,我对 privatekey.pem 文件进行编码
encoded = Packages.org.apache.commons.codec.binary.Base64.decodeBase64('privatekey.pem contents minus header');
keySpec = new Packages.java.security.spec.PKCS8EncodedKeySpec(encoded);
privateKey = keyFac.generatePrivate(keySpec);
当我检查发送的内容并将编码的 JWT 粘贴到 jwt.io 时,我得到无效的签名。我不确定我在哪里或做错了什么。
JWT.io 签名错误:
Public Key in SPKI, PKCS #1, X.509 Certificate, or JWK string format.
Private Key in PKCS #8, PKCS #1, or JWK string format. The key never leaves your browser.
解决方案
推荐阅读
- laravel - 如何为 Laravel 更新密码表单编写测试?
- android - Android,gradle 无法同步:无法解决:firebase-messaging-license?
- python - 通过 MQTT 发送和接收 tarfile - python
- excel - 将行添加到具有特定值的表/命名范围?
- c# - 网络聊天显示没有登录框
- python-3.x - 如何将文件客户端发送到客户端python 3
- excel - 根据每张纸上的单元格值着色 Excel 选项卡
- android - Android:激活相机后出现 nullponterException
- python - 在字符串列表中,如何删除列表中其他字符串的一部分?
- java - 为什么 JAX-RS 忽略瞬态关键字