我要做的是,使用提供的测试套件运行OpenID Connect的一致性测试是链接[1]
我们目前的要求是通过jwks.json('jwks_uri')公开公共证书。 我们遵循'Google OAuth2 cert'的'jwks_uri'[2]并按照jwks.json文件设计,以公开我们服务器的公共证书。
{
"keys": [
{
"kty": "RSA",
"alg": "RS256",
"use": "sig",
"n": "94A7FA15D6F59CF3F4E4412880BD3A2EB0CCCE3386AC0768A5B6BD902A8CE78B969516EF35F0CA4E2D922BF0B3274F35A5949BEF680E510007696C409BFB8F058DB05ED21B1E51D3791E9C2F9C7FC35BC65C706BE4E7723A3ABABB84B0AFD591EDB8E0A8920873FC04EB8723EAF9092D31F5E7452E07ACA1894F3C5A09C53B39",
"e": "65537"
}
]
}
要获得公钥的模数和指数值,我已经按照后[3]。
完成所有这些操作后,运行测试套件时,签名验证失败。我觉得我们设置的“n”和“e”值不是正确的编码/加密。目前,它们以十六进制形式输入。但这不是谷歌证书[2]中的格式。
你知道吗,
[1] http://openid.net/certification/testing/ [2] https://www.googleapis.com/oauth2/v2/certs [3] RSA: Get exponent and modulus given a public key
答案 0 :(得分:0)