【发布时间】:2021-06-10 11:31:14
【问题描述】:
我必须使用存储在 AzukeKeyVault 中的密钥对 JWT 进行签名,但很难让它工作,我迄今为止使用的解决方案不起作用或正在使用 Secrets 而不是密钥来存储 RSA 密钥(除非我' m 错了,RSA 密钥应该存储为 Secret?)
JwtSecurityToken jwt = new JwtSecurityToken(jwtHeader, jwtPayload);
string encodedJwt = jwt.EncodedHeader + "." + jwt.EncodedPayload;
byte[] encodedJwtBytes = Encoding.UTF8.GetBytes(encodedJwt);
KeyOperationResult signature = await keyVaultClient.SignAsync(keyId, "RS256", new SHA256CryptoServiceProvider().ComputeHash(encodedJwtBytes));
string jwtString = encodedJwt + "." + Base64UrlEncoder.Encode(signature.Result);
【问题讨论】:
-
正常情况下,我们应该使用azure key vault key来签署jwt。能否请您提供错误消息?
标签: c# .net azure azure-functions azure-keyvault