2 回答
TA贡献1824条经验 获得超8个赞
作者 http://github.com/lestrrat-go/jwx 在这里.
我还没有合并解析证书的能力,但等待问题报告器的响应,但代码已经写 https://github.com/lestrrat-go/jwx/compare/topic/issue-350
一旦该更改进入,就可以执行一些手臂扭曲并解析这些证书(伪代码):
data := ... read from that URL ...
rawSet := make(map[string]interface{})
if err := json.Unmarshal(data, &rawSet); err != nil {
...
}
// yikes
keys := rawset["keys"].([]interface{})
firstKey := keys[0].(map[string]interface{})
x5c := (firstKey["x5c"].([]interface{}))[0].(string)
// Decode from base64
cert, _ := base64.RawStdEncoding.DecodeString(x5c)
// turn the certificate into JWK (NOT YET MERGED)
key, _ := jwk.ParseKey(cert, jwk.WithPEM(true))
如果您需要将证书解析为 JWK 的功能,请在存储库中提交新问题,以便我跟踪更改。
此外,如果要导入 http://github.com/lestrrat-go/jwx/jwk,则不妨对 JWT 使用 http://github.com/lestrrat-go/jwx/jwt;)
- 2 回答
- 0 关注
- 248 浏览
添加回答
举报