JWK,全称JSON Web Key,是一个JSON对象,表示一个加密的密钥。JWK中的字段表示密钥的属性。

JWK中的参数

  1. “kty”(key type)
    表示密钥使用的加密算法,比如“RSA”或者“EC”等,是大小写敏感的字符串。JWK中必须携带这个字段。
  2. “use”(Public Key Use)
    表示公钥的使用目的。指示公钥是用于加密数据还是用于验证数据上的签名。可以是如下值:
  • “sig”(signature)
  • “enc”(encryption)
    大小写敏感。可以选择性携带。
  1. “key_ops”(Key Operations)
    标识要使用密钥的操作。用于可能存在公共、私有或对称密钥的用例。key_ops字段的值是数组,数组可以包含以下值:
  • “sign”(计算数字签名或MAC)
  • “verify”(验证数字签名或MAC)
  • “encrypt”(加密内容)
  • “decrypt”(解密内容以及验证解密)
  • “warpKey”(加密密钥)
  • “unwrapKey”(解密密钥并验证解密)
  • “deriveKey”(产生密钥)
  • “deriveBits”(产生bits,但是该bits不用于密钥)
  1. “alg”(algorithm)
    标识用于密钥的算法。
  2. “kid”(Key ID)
    用于匹配密钥。主要在JWK集合中选择jwk。
  3. “n”(公钥的模值)
  4. “e”(公钥的指数)
  5. “x5u”(X.509 URL)
  6. “x5c”(X.509 Certificate Chain)
  7. “x5t”(X.509 Certificate SHA-1 Thumbprint)
  8. “x5t#S256”(X.509 Certificate SHA-256 Thumbprint)

JWKS中的参数

  1. “keys”
    JWK的数组。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐