Skip to content

Latest commit

 

History

History
99 lines (68 loc) · 6.16 KB

File metadata and controls

99 lines (68 loc) · 6.16 KB

Function: generalVerify()

Support from the community to continue maintaining and improving this module is welcome. If you find the module useful, please consider supporting the project by becoming a sponsor.

Call Signature

generalVerify(jws, key, options?): Promise<GeneralVerifyResult>

Verifies the signature and format of and afterwards decodes the General JWS.

This function is exported (as a named export) from the main 'jose' module entry point as well as from its subpath export 'jose/jws/general/verify'.

Note

The function iterates over the signatures array in the General JWS and returns the verification result of the first signature entry that can be successfully verified. The result only contains the payload, protected header, and unprotected header of that successfully verified signature entry. Other signature entries' headers may be inspected solely to reject inconsistent use of the JWS Unencoded Payload Option, and their headers are not included in the returned result. Recipients of a General JWS should only rely on the returned (verified) data.

Parameters

Parameter Type Description
jws GeneralJWSInput General JWS.
key KeyInput Key to verify the JWS with. See Algorithm Key Requirements.
options? VerifyOptions JWS Verify options.

Returns

Promise<GeneralVerifyResult>

Example

const jws = {
  payload: 'SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4',
  signatures: [
    {
      signature:
        'FVVOXwj6kD3DqdfD9yYqfT2W9jv-Nop4kOehp_DeDGNB5dQNSPRvntBY6xH3uxlCxE8na9d_kyhYOcanpDJ0EA',
      protected: 'eyJhbGciOiJFUzI1NiJ9',
    },
  ],
}

const { payload, protectedHeader } = await jose.generalVerify(jws, publicKey)

console.log(protectedHeader)
console.log(new TextDecoder().decode(payload))

Call Signature

generalVerify<KeyType>(jws, getKey, options?): Promise<GeneralVerifyResult & ResolvedKey<KeyType>>

Verifies the signature and format of and afterwards decodes the General JWS, resolving the key dynamically. The result additionally carries the resolved key.

Type Parameters

Type Parameter Default type
KeyType extends Uint8Array | CryptoKey Uint8Array | CryptoKey

Parameters

Parameter Type Description
jws GeneralJWSInput General JWS.
getKey GeneralVerifyGetKey<KeyType> Function resolving a key to verify the JWS with. See Algorithm Key Requirements.
options? VerifyOptions JWS Verify options.

Returns

Promise<GeneralVerifyResult & ResolvedKey<KeyType>>

Call Signature

generalVerify(jws, key, options?): Promise<GeneralVerifyResult & Partial<ResolvedKey<Uint8Array | CryptoKey>>>

Accepts either form of the key argument. Use this overload when forwarding a value that may be either a key or a key resolution function; key is present on the result only when a resolution function was used.

Parameters

Parameter Type Description
jws GeneralJWSInput General JWS.
key KeyInput | GeneralVerifyGetKey<Uint8Array | CryptoKey> Key, or function resolving a key, to verify the JWS with. See Algorithm Key Requirements.
options? VerifyOptions JWS Verify options.

Returns

Promise<GeneralVerifyResult & Partial<ResolvedKey<Uint8Array | CryptoKey>>>