Format Atlas

数据

什么是 JWK 文件?

JWK 是表示加密密钥的 JSON 对象,可包含密钥类型 kty、密钥 ID kid 等元数据。JWKS 在 keys 数组中组合多个 JWK。它常用于发布公钥;含私钥材料的 JWK 属于敏感信息。

.jwk · .json加密密钥的 JSON 表示

适合选择此格式的场景

  • 为 OIDC 等系统获取公钥集合
  • 在应用间标明密钥标识与预期用途

不宜选择此格式的场景

  • 把私钥当作普通文本文件共享
  • 替代 X.509 证书本身

常见用途

  • 为 Web API 发布公钥和密钥元数据
  • 为 JOSE 签名或加密表示密钥

特点

  • 以 JSON 表示各密钥类型的参数
  • 可携带 kid、use、key_ops 和 alg 等元数据

优点和缺点

优点

  • 适合在 Web API 中处理公钥集合
  • 密钥 ID 有助于密钥轮换

缺点

  • 必须验证密钥类型和算法
  • 私钥材料泄露风险很高

打开和转换

如何打开

用 JSON 编辑器或支持 JOSE 的库打开。使用前确认支持的密钥类型、算法和必需参数。

如何转换

工具可将 PEM 等格式转换为 JWK。确认结果是公钥还是私钥,并将私钥结果保存在安全位置。

注意事项

  • 不要将含私钥或对称密钥材料的 JWK 放入日志、公开仓库或浏览器资源。
  • 信任获取的 JWKS 前,应验证发行者、TLS、用途、算法和 kid 选择规则。

常见问题

JWK 和 JWKS 有什么区别?

JWK 表示一个密钥。JWKS 是含有 keys 数组的 JSON 对象,该数组包含多个 JWK,常用于分发公钥。

相关格式

参考资料与规范