业务系统密钥
1 介绍
业务系统密钥中支持启用或禁用 JWKS(JSON Web Key Set) ,如果启用了JWKS(JSON Web Key Set),则需要提供有效的 JWKS(JSON Web Key Set) 地址。保存后,管理员可以从 JWKS(JSON Web Key Set) 地址 下载密钥;同时还可以生成签名密钥用于验证 JWT,以及生成加密密钥用于保护 JWT 中的敏感数据。
JSON Web Key Set (JWKS) 是一种用于提供公钥的标准格式。在身份验证和授权领域,JWKS 主要用于存储用于验证 JSON Web Tokens (JWTs) 的公钥。
2 使用场景
该功能用于业务系统凭证使用"签名的JWT"或"使用业务系统密钥签名的JWT"的认证方法时用来保护授权请求。通过生成签名密钥和加密密钥,业务系统可以确保身份验证请求的安全性,并保护敏感数据的机密性。
使用签名和加密来保护授权请求流程:
1、生成授权请求:
构建一个标准的授权请求数据。
2、签名授权请求 (JWS):
使用签名密钥对授权请求进行签名,生成一个JWS(JSON Web Signature)。
这确保了请求的完整性和来源的真实性。
签名密钥可以是业务系统的私钥(private_key_jwt)或者业务系统密钥(client_secret_jwt)。
3、加密授权请求 (JWE)(如果需要):
如果需要进一步保护数据的机密性,可以使用加密密钥对JWS进行加密,生成一个JWE(JSON Web Encryption)。
这确保了请求在传输过程中不会被未授权方查看。
加密密钥是接收方的公钥。
4、传递授权请求:
将生成的JWS或JWE放入授权请求的参数中进行传递。
3 配置JWKS(JSON Web Key Set)
启用JWKS:
1、点击"密钥"选项,进入配置页面;
2、然后点击下方的滑动按钮,使下方输入框进入可编辑状态;
3、在"链接地址"下方的数据框中输入地址;
4、点击"更新"按钮。
4 密钥
4.1创建签名密钥
1、点击下方的"生成新的密钥"按钮。
2、当点击下方的"生成新的密钥"按钮后,会弹出创建页面,选择"签名密钥",然后点击"下一步"。 3、按照页面要求依次输入名称、选择密钥类型、选择算法后,点击"生成",等待提示"已生成密钥!"后,点击"下一步"。 4、然后我们就可以在页面中看到公钥、私钥、JWK的具体信息(可保存下来,因为后续无法查看),然后我们点击"确定"按钮,这样就成功创建了一个签名密钥。4.2创建加密密钥
1、点击下方的"生成新的密钥"按钮。
2、当点击下方的"生成新的密钥"按钮后,会弹出创建页面,选择"加密密钥",然后点击"下一步"。 3、按照页面要求依次输入名称、选择密钥类型、选择算法、选择加密算法后,点击"生成",等待提示"已生成密钥!"后,点击"下一步"。 4、然后我们就可以在页面中看到公钥、私钥、JWK的具体信息(可保存下来,因为后续无法查看),然后我们点击"确定"按钮,这样就成功创建了一个签名密钥。5 删除密钥
如果想要删除已经创建好的密钥,我们可以在密钥页面中,勾选我们想要删除的密钥(支持多选),然后点击右侧的蓝色按钮,然后点击"删除"字样,即可删除勾选的密钥。