UNPKG

cose-kit

Version:

**DEPRECATED:** Use [@auth0/cose](https://www.npmjs.com/package/@auth0/cose).

156 lines (155 loc) 4.28 kB
import { TypedMap } from "@jfromaniello/typedmap"; /** * COSE Header labels registered in the IANA "COSE Header Parameters" registry. * Reference: https://www.iana.org/assignments/cose/cose.xhtml#header-parameters */ export declare enum Headers { Algorithm = 1, Critical = 2, ContentType = 3, KeyID = 4, IV = 5, PartialIV = 6, CounterSignature = 7, CounterSignature0 = 9, CounterSignatureV2 = 11, CounterSignature0V2 = 12, X5Bag = 32, X5Chain = 33, X5T = 34, X5U = 35 } export declare enum Algorithms { EdDSA = -8, ES256 = -7, ES384 = -35, ES512 = -36, PS256 = -37, PS384 = -38, PS512 = -39, RS256 = -257, RS384 = -258, RS512 = -259 } export declare enum MacAlgorithms { HS256 = 5, HS384 = 6, HS512 = 7 } export declare enum EncryptionAlgorithms { A128GCM = 1, A192GCM = 2, A256GCM = 3, Direct = -6 } export type Direct = -6; export type SupportedEncryptionAlgorithms = 'A128GCM' | 'A192GCM' | 'A256GCM'; export declare const EncryptionAlgorithmNames: Map<EncryptionAlgorithms, SupportedEncryptionAlgorithms>; export declare const MacAlgorithmNames: Map<MacAlgorithms, SupportedMacAlg>; export declare const AlgorithmNames: Map<Algorithms, SupportedAlgs>; export type SupportedAlgs = 'EdDSA' | 'ES256' | 'ES384' | 'ES512' | 'PS256' | 'PS384' | 'PS512' | 'RS256' | 'RS384' | 'RS512'; export declare class ProtectedHeaders extends TypedMap<[ Headers.Algorithm, Algorithms ] | [ Headers.Critical, Headers[] ] | [ Headers.ContentType, number | Uint8Array ] | [ Headers.KeyID, Uint8Array ] | [ Omit<Headers, Headers.Algorithm | Headers.Critical | Headers.ContentType | Headers.KeyID>, Uint8Array | Uint8Array[] | number | number[] ]> { /** * Ensure input is a ProtectedHeaders instance. * * @param headers - The headers to wrap. * @returns */ static from(headers: ProtectedHeaders | ConstructorParameters<typeof ProtectedHeaders>[0]): ProtectedHeaders; /** * CBOR encode the hedaers instance * @returns {Uint8Array} - The encoded protected headers. */ encode(): Uint8Array; } export type SupportedMacAlg = 'HS256' | 'HS384' | 'HS512'; export declare class EncryptProtectedHeaders extends TypedMap<[ Headers.Algorithm, EncryptionAlgorithms ] | [ Headers.Critical, Headers[] ] | [ Headers.ContentType, number | Uint8Array ] | [ Headers.KeyID, Uint8Array ] | [ Omit<Headers, Headers.Algorithm | Headers.Critical | Headers.ContentType | Headers.KeyID>, Uint8Array | number | number[] ]> { /** * Ensure input is a EncryptProtectedHeaders instance. * * @param headers - The headers to wrap. * @returns */ static from(headers: EncryptProtectedHeaders | ConstructorParameters<typeof EncryptProtectedHeaders>[0]): EncryptProtectedHeaders | MacProtectedHeaders; } export declare class MacProtectedHeaders extends TypedMap<[ Headers.Algorithm, MacAlgorithms ] | [ Headers.Critical, Headers[] ] | [ Headers.ContentType, number | Uint8Array ] | [ Headers.KeyID, Uint8Array ] | [ Omit<Headers, Headers.Algorithm | Headers.Critical | Headers.ContentType | Headers.KeyID>, Uint8Array | number | number[] ]> { /** * Ensure input is a MacProtectedHeaders instance. * * @param headers - The headers to wrap. * @returns */ static from(headers: MacProtectedHeaders | ConstructorParameters<typeof MacProtectedHeaders>[0]): MacProtectedHeaders; } export declare class UnprotectedHeaders extends TypedMap<[ Headers.ContentType, number | Uint8Array ] | [ Headers.KeyID, Uint8Array ] | [ Headers.IV, Uint8Array ] | [ Headers.PartialIV, Uint8Array ] | [ Headers.X5Chain, Uint8Array | Uint8Array[] ] | [ Exclude<Headers, Headers.ContentType | Headers.KeyID | Headers.PartialIV | Headers.X5Chain>, number | number[] | Uint8Array | Uint8Array[] ]> { /** * Ensure input is a MacProtectedHeaders instance. * * @param headers - The headers to wrap. * @returns */ static from(headers: UnprotectedHeaders | ConstructorParameters<typeof UnprotectedHeaders>[0]): UnprotectedHeaders; }