@sphereon/ssi-types
Version:
SSI Common Types
77 lines • 1.92 kB
TypeScript
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 declare enum ICoseKeyType {
OKP = 1,
EC2 = 2,
RSA = 3,
Symmetric = 4,
Reserved = 0
}
export declare 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 declare 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 declare enum ICoseCurve {
P_256 = 1,
P_384 = 2,
P_521 = 3,
X25519 = 4,
X448 = 5,
Ed25519 = 6,
Ed448 = 7,
secp256k1 = -1
}
//# sourceMappingURL=cose.d.ts.map