UNPKG

@sphereon/ssi-types

Version:

SSI Common Types

83 lines (76 loc) 1.74 kB
import { com } from '@sphereon/kmp-mdoc-core' import SignatureAlgorithm = com.sphereon.crypto.generic.SignatureAlgorithm import KeyType = com.sphereon.crypto.generic.KeyType import KeyOperations = com.sphereon.crypto.generic.KeyOperations /** * See our mdl-mdoc and crypto library for more information * https://github.com/Sphereon-Opensource/mdoc-cbor-crypto-multiplatform * * Conversion functions are available in above library. * Conversion functions are also available for TS in our @sphereon/ssi-sdk-ext.key-utils package * */ export interface ICoseKeyJson { kty: ICoseKeyType kid?: string alg?: ICoseSignatureAlgorithm key_ops?: Array<ICoseKeyOperation> baseIV?: string crv?: ICoseCurve x?: string y?: string d?: string x5chain?: Array<string> getSignatureAlgorithm(): SignatureAlgorithm getKty(): KeyType getKeyOperations(): Array<KeyOperations> getX509CertificateChain(): Array<string> | undefined toPublicKey(): ICoseKeyJson getKidAsString(): string | undefined getXAsString(): string getYAsString(): string [k: string]: unknown } export enum ICoseKeyType { OKP = 1, EC2 = 2, RSA = 3, Symmetric = 4, Reserved = 0, } export enum ICoseSignatureAlgorithm { ES256 = -7, ES256K = -47, ES384 = -35, ES512 = -36, EdDSA = -8, HS256_64 = 4, HS256 = 5, HS384 = 6, HS512 = 7, PS256 = -37, PS384 = -38, PS512 = -39, } export enum ICoseKeyOperation { SIGN = 1, VERIFY = 2, ENCRYPT = 3, DECRYPT = 4, WRAP_KEY = 5, UNWRAP_KEY = 6, DERIVE_KEY = 7, DERIVE_BITS = 8, MAC_CREATE = 9, MAC_VERIFY = 10, } export enum ICoseCurve { P_256 = 1, P_384 = 2, P_521 = 3, X25519 = 4, X448 = 5, Ed25519 = 6, Ed448 = 7, secp256k1 = -1, }