Bab*_*lli 5 private-key keycloak-rest-api
我正在尝试从 keycloack 领域密钥 获取私钥。我能够使用 Open-id/certs api 获取公钥。请告诉我是否能够获取 keycloack 中领域的私钥。
psy*_*ter 10
我使用私钥编写测试来篡改 JWT 有效负载以验证应用程序。我遇到了所有的安全陷阱
使用 MySQL 获取私钥很容易:
use <kc_db_schema>;
SELECT VALUE FROM COMPONENT_CONFIG CC INNER JOIN COMPONENT C INNER JOIN REALM R ON(CC.COMPONENT_ID = C.ID AND R.ID = C.REALM_ID)
WHERE R.NAME='your-realm-name' AND C.NAME = 'rsa-generated' AND CC.name = 'privateKey';
Run Code Online (Sandbox Code Playgroud)
使用这个私钥值我可以签署我的有效负载。在 Python PyJWT 中,将带有换行符的 '-----BEGIN RSA PRIVATE KEY-----' / '-----END RSA PRIVATE KEY-----' 添加到密钥中非常重要:
private_key = b"-----BEGIN RSA PRIVATE KEY-----\n<my privateKey from SQL query>\n-----END RSA PRIVATE KEY-----"
jwt_encoded = jwt.encode({my payload}, private_key, algorithm="RS256")
Run Code Online (Sandbox Code Playgroud)