开发者社区 > 云原生 > Serverless > 正文

阿里云Serverless 中在函数计算里创建jwt token时,为什么会提示不是非对称的密钥呢?

阿里云Serverless 中在函数计算里创建jwt token时,我用生成器的私钥放到pem文件里调用,提示secretOrPrivateKey must be an asymmetric key when using RS256,这里我明白,生成器生成的就是RS256的私钥,为什么会提示不是非对称的密钥呢?

展开
收起
小小鹿鹿鹿 2023-11-20 22:35:44 33 0
3 条回答
写回答
取消 提交回答
  • 我的也是碰到这种情况,请问你解决了吗?

    2023-12-06 08:53:55
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个问题可能是由于您使用了一个不适合 RSA 加密算法的密钥导致的,RSA 加密算法要求密钥是公开 / 私有的对称密钥对。
    如果您使用的是公钥 / 私钥对生成器来创建 JWT,那么请检查以下几点:

    1. 密钥格式:确保私钥格式正确,包括 PEM 或 PKCS#8 格式等。
    2. 密钥类型:密钥必须是公开 / 私有的对称密钥对,且应该是 RSA 加密算法类型,而不是其它类型的密钥。
    3. 密钥长度:RSA 加密算法要求密钥长度至少为 2048 bit 或更高,若低于此值则可能导致不匹配。
    4. 密钥完整性:确保密钥完整无损,避免损坏密钥导致错误。
    2023-11-21 17:14:50
    赞同 展开评论 打赏
  • 可能是因为您在创建jwt token时,将私钥以明文形式传递给了函数计算环境,而函数计算环境要求使用非对称密钥。

    在使用RS256算法生成JWT Token时,需要使用一对公钥和私钥进行签名验证。其中,私钥用于签名,公钥用于验证签名。因此,您需要将私钥存储在一个安全的地方,并使用公钥来验证签名。

    如果您的私钥是以明文形式存储在PEM文件中,那么它可能会被他人获取并篡改,从而导致安全问题。因此,建议您将私钥存储在一个安全的加密环境中,例如阿里云KMS等服务中。

    2023-11-21 16:23:20
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    All in Serverless 阿里云核心产品全面升级 立即下载
    AIGC 浪潮之上,森马的 Serverless 实践之旅 立即下载
    极氪大数据 Serverless 应用实践 立即下载