cose-kit
Version:
**DEPRECATED:** Use [@auth0/cose](https://www.npmjs.com/package/@auth0/cose).
156 lines (155 loc) • 4.28 kB
TypeScript
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;
}