@credo-ts/core
Version:
<p align="center"> <br /> <img alt="Credo Logo" src="https://github.com/openwallet-foundation/credo-ts/blob/c7886cb8377ceb8ee4efe8d264211e561a75072d/images/credo-logo.png" height="250px" /> </p> <h1 align="center"><b>Credo - Core</b></h1
298 lines (297 loc) • 15.7 kB
text/typescript
import { KmsCreateKeyType, KmsCreateKeyTypeEc, KmsCreateKeyTypeOct, KmsCreateKeyTypeOkp, KmsCreateKeyTypeRsa } from "../options/KmsCreateKeyOptions.mjs";
import "../options/index.mjs";
import { KmsJwkPrivateEc, KmsJwkPublicEc } from "./kty/ec/ecJwk.mjs";
import { KmsJwkPrivateOct, KmsJwkPublicOct } from "./kty/oct/octJwk.mjs";
import { KmsJwkPrivateOkp, KmsJwkPublicOkp } from "./kty/okp/okpJwk.mjs";
import { KmsJwkPrivateRsa, KmsJwkPublicRsa } from "./kty/rsa/rsaJwk.mjs";
import { z } from "zod";
//#region src/modules/kms/jwk/knownJwk.d.ts
declare const zKmsJwkPublicAsymmetric: z.ZodDiscriminatedUnion<[z.ZodObject<{
kty: z.ZodLiteral<"EC">;
crv: z.ZodEnum<{
"P-256": "P-256";
"P-384": "P-384";
"P-521": "P-521";
secp256k1: "secp256k1";
}>;
x: z.ZodString;
y: z.ZodString;
d: z.ZodOptional<z.ZodUndefined>;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
kty: z.ZodLiteral<"RSA">;
n: z.ZodString;
e: z.ZodString;
d: z.ZodOptional<z.ZodUndefined>;
p: z.ZodOptional<z.ZodUndefined>;
q: z.ZodOptional<z.ZodUndefined>;
dp: z.ZodOptional<z.ZodUndefined>;
dq: z.ZodOptional<z.ZodUndefined>;
qi: z.ZodOptional<z.ZodUndefined>;
oth: z.ZodOptional<z.ZodUndefined>;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
kty: z.ZodLiteral<"OKP">;
crv: z.ZodEnum<{
Ed25519: "Ed25519";
X25519: "X25519";
}>;
x: z.ZodString;
d: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>], "kty">;
type KmsJwkPublicAsymmetric = z.output<typeof zKmsJwkPublicAsymmetric>;
declare function isJwkAsymmetric(jwk: KmsJwkPublic | KmsJwkPrivate): jwk is KmsJwkPrivateAsymmetric | KmsJwkPublicAsymmetric;
declare function assertJwkAsymmetric(jwk: KmsJwkPublic | KmsJwkPrivate, keyId?: string): asserts jwk is KmsJwkPublicAsymmetric | KmsJwkPrivateAsymmetric;
declare const zKmsJwkPublic: z.ZodDiscriminatedUnion<[z.ZodObject<{
kty: z.ZodLiteral<"EC">;
crv: z.ZodEnum<{
"P-256": "P-256";
"P-384": "P-384";
"P-521": "P-521";
secp256k1: "secp256k1";
}>;
x: z.ZodString;
y: z.ZodString;
d: z.ZodOptional<z.ZodUndefined>;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
kty: z.ZodLiteral<"RSA">;
n: z.ZodString;
e: z.ZodString;
d: z.ZodOptional<z.ZodUndefined>;
p: z.ZodOptional<z.ZodUndefined>;
q: z.ZodOptional<z.ZodUndefined>;
dp: z.ZodOptional<z.ZodUndefined>;
dq: z.ZodOptional<z.ZodUndefined>;
qi: z.ZodOptional<z.ZodUndefined>;
oth: z.ZodOptional<z.ZodUndefined>;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
kty: z.ZodLiteral<"oct">;
k: z.ZodOptional<z.ZodUndefined>;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
kty: z.ZodLiteral<"OKP">;
crv: z.ZodEnum<{
Ed25519: "Ed25519";
X25519: "X25519";
}>;
x: z.ZodString;
d: z.ZodOptional<z.ZodString>;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>], "kty">;
type KmsJwkPublic = z.output<typeof zKmsJwkPublic>;
declare const zKmsJwkPrivate: z.ZodDiscriminatedUnion<[z.ZodObject<{
d: z.ZodString;
kty: z.ZodLiteral<"EC">;
crv: z.ZodEnum<{
"P-256": "P-256";
"P-384": "P-384";
"P-521": "P-521";
secp256k1: "secp256k1";
}>;
x: z.ZodString;
y: z.ZodString;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
d: z.ZodString;
p: z.ZodString;
q: z.ZodString;
dp: z.ZodString;
dq: z.ZodString;
qi: z.ZodString;
oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
d: z.ZodOptional<z.ZodString>;
r: z.ZodOptional<z.ZodString>;
t: z.ZodOptional<z.ZodString>;
}, z.core.$loose>>>;
kty: z.ZodLiteral<"RSA">;
n: z.ZodString;
e: z.ZodString;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
k: z.ZodString;
kty: z.ZodLiteral<"oct">;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
d: z.ZodString;
kty: z.ZodLiteral<"OKP">;
crv: z.ZodEnum<{
Ed25519: "Ed25519";
X25519: "X25519";
}>;
x: z.ZodString;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>], "kty">;
type KmsJwkPrivate = z.output<typeof zKmsJwkPrivate>;
declare const zKmsJwkPrivateAsymmetric: z.ZodDiscriminatedUnion<[z.ZodObject<{
d: z.ZodString;
kty: z.ZodLiteral<"EC">;
crv: z.ZodEnum<{
"P-256": "P-256";
"P-384": "P-384";
"P-521": "P-521";
secp256k1: "secp256k1";
}>;
x: z.ZodString;
y: z.ZodString;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
d: z.ZodString;
p: z.ZodString;
q: z.ZodString;
dp: z.ZodString;
dq: z.ZodString;
qi: z.ZodString;
oth: z.ZodOptional<z.ZodArray<z.ZodObject<{
d: z.ZodOptional<z.ZodString>;
r: z.ZodOptional<z.ZodString>;
t: z.ZodOptional<z.ZodString>;
}, z.core.$loose>>>;
kty: z.ZodLiteral<"RSA">;
n: z.ZodString;
e: z.ZodString;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
d: z.ZodString;
kty: z.ZodLiteral<"OKP">;
crv: z.ZodEnum<{
Ed25519: "Ed25519";
X25519: "X25519";
}>;
x: z.ZodString;
kid: z.ZodOptional<z.ZodString>;
alg: z.ZodOptional<z.ZodString>;
key_ops: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sign">, z.ZodLiteral<"verify">, z.ZodLiteral<"encrypt">, z.ZodLiteral<"decrypt">, z.ZodLiteral<"wrapKey">, z.ZodLiteral<"unwrapKey">, z.ZodLiteral<"deriveKey">, z.ZodLiteral<"deriveBits">]>, z.ZodString]>>>;
use: z.ZodOptional<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodLiteral<"sig">, z.ZodLiteral<"enc">]>, z.ZodString]>>;
ext: z.ZodOptional<z.ZodBoolean>;
x5c: z.ZodOptional<z.ZodArray<z.ZodString>>;
x5t: z.ZodOptional<z.ZodString>;
'x5t#S256': z.ZodOptional<z.ZodString>;
x5u: z.ZodOptional<z.ZodString>;
}, z.core.$strip>], "kty">;
type KmsJwkPrivateAsymmetric = z.output<typeof zKmsJwkPrivateAsymmetric>;
declare function publicJwkFromPrivateJwk(privateJwk: KmsJwkPrivate | KmsJwkPublic): KmsJwkPublic;
type KmsJwkPrivateFromKmsJwkPublic<Type extends KmsCreateKeyType> = Type extends KmsCreateKeyTypeRsa ? KmsJwkPrivateRsa : Type extends KmsCreateKeyTypeOct ? KmsJwkPrivateOct : Type extends KmsCreateKeyTypeOkp ? KmsJwkPrivateOkp & {
crv: Type['crv'];
} : Type extends KmsCreateKeyTypeEc ? KmsJwkPrivateEc & {
crv: Type['crv'];
} : KmsJwkPrivate;
type KmsJwkPublicFromKmsJwkPrivate<Jwk extends KmsJwkPrivate> = Jwk extends KmsJwkPrivateRsa ? KmsJwkPublicRsa : Jwk extends KmsJwkPrivateOct ? KmsJwkPublicOct : Jwk extends KmsJwkPrivateOkp ? KmsJwkPublicOkp & {
crv: Jwk['crv'];
} : Jwk extends KmsJwkPrivateEc ? KmsJwkPublicEc & {
crv: Jwk['crv'];
} : KmsJwkPublic;
type KmsJwkPublicFromCreateType<Type extends KmsCreateKeyType> = Type extends KmsCreateKeyTypeRsa ? KmsJwkPublicRsa : Type extends KmsCreateKeyTypeOct ? KmsJwkPublicOct : Type extends KmsCreateKeyTypeOkp ? KmsJwkPublicOkp & {
crv: Type['crv'];
} : Type extends KmsCreateKeyTypeEc ? KmsJwkPublicEc & {
crv: Type['crv'];
} : KmsJwkPublic;
//#endregion
export { KmsJwkPrivate, KmsJwkPrivateAsymmetric, KmsJwkPrivateFromKmsJwkPublic, KmsJwkPublic, KmsJwkPublicAsymmetric, KmsJwkPublicFromCreateType, KmsJwkPublicFromKmsJwkPrivate, assertJwkAsymmetric, isJwkAsymmetric, publicJwkFromPrivateJwk };
//# sourceMappingURL=knownJwk.d.mts.map