You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何生成JWT Token并在Oracle SCM Cloud中使用,解决签名无效报错

Oracle SCM Cloud JWT签名无效问题解决方案

问题根因排查

  • x5t生成命令文件不匹配:你生成的证书文件为scmnowtest.cer,但生成x5t的命令中使用的是不存在的scmnowtest.pem,会导致x5t值错误,是签名无效的高频诱因
  • 密钥长度不符合要求:你生成的是1024位RSA密钥,目前Oracle SCM Cloud默认要求最低2048位密钥,1024位密钥会被服务直接拒绝
  • JWT字段配置错误:头、载荷字段不符合Oracle SCM的规范要求,或算法选择错误
  • 密钥粘贴格式错误:在工具中粘贴私钥时未携带完整的PEM格式头尾标识

修复步骤

  1. 重新生成符合长度要求的密钥和证书
    执行以下命令替换原有1024位密钥:
    openssl genrsa -out scmnowtest.key 2048
    openssl req -new -x509 -key scmnowtest.key -out scmnowtest.cer -days 365
    
  2. 转换证书格式并生成正确的x5t
    先将cer格式证书转换为pem格式,再生成x5t:
    # 转换证书格式
    openssl x509 -inform der -in scmnowtest.cer -out scmnowtest.pem
    # 生成x5t
    echo $(openssl x509 -in scmnowtest.pem -fingerprint -noout) | sed 's/SHA1 Fingerprint=//g' | sed 's/://g' | xxd -r -ps | base64
    
  3. 校验JWT配置
    • 头配置必须指定算法为RS256,携带正确的x5t值:
      {
        "alg": "RS256",
        "typ": "JWT",
        "x5t": "<上一步生成的x5t值>"
      }
      
    • 载荷配置必须符合Oracle SCM规范,注意有效期最长为3600秒,时间戳使用UTC时间:
      {
        "iss": "<你在Oracle SCM中注册的客户端ID>",
        "sub": "<SCM授权用户名>",
        "aud": "<你的SCM实例访问地址>",
        "iat": <当前UTC时间戳>,
        "exp": <当前UTC时间戳+3600>
      }
      
  4. 签名校验配置
    在工具的签名区域,完整粘贴scmnowtest.key的全部内容(包含-----BEGIN RSA PRIVATE KEY-----和-----END RSA PRIVATE KEY-----标识),公钥区域粘贴scmnowtest.cer的完整内容即可完成本地签名校验。

内容的提问来源于stack exchange,提问作者Jitender Mahlawat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:36:01