@unvision/jose
Version:
Implementation of the RFCs of the JOSE Working Group.
102 lines (101 loc) • 4.22 kB
TypeScript
import { JsonWebKeyParameters } from '../jwk/jsonwebkey.parameters';
import { JsonWebEncryptionKeyWrapAlgorithm } from './algorithms/alg/jsonwebencryption-key-wrap.algorithm';
import { SupportedJsonWebEncryptionKeyWrapAlgorithm } from './algorithms/alg/types/supported-jsonwebencryption-keywrap-algorithm';
import { JsonWebEncryptionContentEncryptionAlgorithm } from './algorithms/enc/jsonwebencryption-content-encryption.algorithm';
import { SupportedJsonWebEncryptionContentEncryptionAlgorithm } from './algorithms/enc/types/supported-jsonwebencryption-content-encryption-algorithm';
import { JsonWebEncryptionCompressionAlgorithm } from './algorithms/zip/jsonwebencryption-compression.algorithm';
import { SupportedJsonWebEncryptionCompressionAlgorithm } from './algorithms/zip/types/supported-jsonwebencryption-compression-algorithm';
import { JsonWebEncryptionHeaderParameters } from './jsonwebencryption.header.parameters';
/**
* Implementation of the JSON Web Encryption Header.
*
* @see https://www.rfc-editor.org/rfc/rfc7516.html#section-4
*/
export declare class JsonWebEncryptionHeader implements JsonWebEncryptionHeaderParameters {
/**
* Supported JSON Web Encryption Key Wrap Algorithms.
*/
private static readonly keyWrapAlgorithms;
/**
* Supported JSON Web Encryption Content Encryption Algorithms.
*/
private static readonly contentEncryptionAlgorithms;
/**
* Supported JSON Web Encryption Compression Algorithms.
*/
private static readonly compressionAlgorithms;
/**
* JSON Web Encryption Key Wrap Algorithm used by the JSON Web Encryption Header.
*/
readonly keyWrapAlgorithm: JsonWebEncryptionKeyWrapAlgorithm;
/**
* JSON Web Encryption Content Encryption Algorithm used by the JSON Web Encryption Header.
*/
readonly contentEncryptionAlgorithm: JsonWebEncryptionContentEncryptionAlgorithm;
/**
* JSON Web Encryption Compression Algorithm used by the JSON Web Encryption Header.
*/
readonly compressionAlgorithm: JsonWebEncryptionCompressionAlgorithm | null;
/**
* JSON Web Encryption Key Wrap Algorithm used to Wrap and Unwrap the Content Encryption Key.
*/
readonly alg: SupportedJsonWebEncryptionKeyWrapAlgorithm;
/**
* JSON Web Encryption Content Encryption Algorithm used to Encrypt and Decrypt the Plaintext of the Token.
*/
readonly enc: SupportedJsonWebEncryptionContentEncryptionAlgorithm;
/**
* JSON Web Encryption Compression Algorithm used to Compress and Decompress the Plaintext of the Token.
*/
readonly zip?: SupportedJsonWebEncryptionCompressionAlgorithm;
/**
* URI of a Set of Public JSON Web Keys that contains the JSON Web Key used to Encrypt the Token.
*/
readonly jku?: string;
/**
* JSON Web Key used to Encrypt the Token.
*/
readonly jwk?: JsonWebKeyParameters;
/**
* Identifier of the JSON Web Key used to Encrypt the Token.
*/
readonly kid?: string;
/**
* URI of the X.509 certificate of the JSON Web Key used to Encrypt the Token.
*/
readonly x5u?: string;
/**
* Chain of X.509 certificates of the JSON Web Key used to Encrypt the Token.
*/
readonly x5c?: string[];
/**
* SHA-1 Thumbprint of the X.509 certificate of the JSON Web Key used to Encrypt the Token.
*/
readonly x5t?: string;
/**
* SHA-256 Thumbprint of the X.509 certificate of the JSON Web Key used to Encrypt the Token.
*/
readonly 'x5t#S256'?: string;
/**
* Defines the type of the Token.
*/
readonly typ?: string;
/**
* Defines the type of the Payload of the Token.
*/
readonly cty?: string;
/**
* Defines the parameters that MUST be present in the JSON Web Encryption Header.
*/
readonly crit?: string[];
/**
* Additional JSON Web Encryption Header Parameters.
*/
readonly [parameter: string]: any;
/**
* Instantiates a new JSON Web Encryption Header based on the provided Parameters.
*
* @param parameters JSON Web Encryption Header Parameters.
*/
constructor(parameters: JsonWebEncryptionHeaderParameters);
}