【发布时间】:2018-01-04 17:43:01
【问题描述】:
我正在尝试使用 jwt 库进行 jwt 验证。我通过调用以字符串格式返回公钥的 REST 端点从另一个应用程序获取公钥。
所以现在当尝试以相同的字符串格式发送该公钥时,我得到“无效的密钥格式”。关于如何将字符串格式的密钥转换为有效的 PEM 格式的任何帮助都会很棒。
func (test *TESTStrategy) doJWTValidation(token string, key string, logger *util.Logger) (TESTResponse, error) {
parsedToken, jwtErr := jwt.Parse(token, func(token *jwt.Token) (interface{}, error) {
return decodedJWT.ParsedPubKey, nil
})
以下是将密钥作为字符串传递给 jwt.Pasrse() 调用时出现的错误。
公钥: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsFWkb / eSl6I3DRVhaonW3DFy8EnL0yaPiDzCcOLuYfBjN9zZIR1wXmnMJFle1K89qHGg42wgweVTIwA1XFTfoUKSziwsjF6FscZX5H56ZYyS / wWiO3rWWynlfbSZt + ga71 + NDSU + A0Dy7Nn7ZgP8kRsu4UM5vE7QQTRERNiUKpzScN1cgZUFUqSddQmkwTEN8hH1mFX1Mum54NGqWIlmQxQDrOyogmMXIaaakhabcmuIPMULVVDVwUJC9sSDsc / j05qcZn3kkiEBRyiYB6ZLY2W7WfiV + DB7 / icPONsYSD0FxHWEGNnbqtiGoNf9WZWtaP + o8WMR9sB3GKGVnbLvbQIDAQAB P>
【问题讨论】:
-
pem 是一种字符串格式 - 您能更具体地说明您要转换的内容吗?
-
感谢您的回复。我刚刚用更准确的信息更新了票。对于您的问题,当我将密钥作为字符串格式传递时,我得到“密钥的类型无效”。
-
请将错误粘贴为文本而不是屏幕截图,因为您的错误已被截断。另外,您能否发布一个您收到的公钥示例,因为如果他们不知道它是什么格式,没有人可以提供帮助。因为它是公钥,所以不应该有任何安全问题。
-
好的,但我的问题是您要转换的格式是什么?
-
正如我所指出的,PEM 是一种字符串编码,而“字符串”不是密钥的特定编码。您需要知道要转换的密钥是什么格式才能成功转换。