feat: 초기 프로젝트 설정 및 룰.md 파일 추가
This commit is contained in:
121
api.hyungi.net/node_modules/@simplewebauthn/server/script/helpers/cose.d.ts
generated
vendored
Normal file
121
api.hyungi.net/node_modules/@simplewebauthn/server/script/helpers/cose.d.ts
generated
vendored
Normal file
@@ -0,0 +1,121 @@
|
||||
/**
|
||||
* Fundamental values that are needed to discern the more specific COSE public key types below.
|
||||
*
|
||||
* The use of `Maps` here is due to CBOR encoding being used with public keys, and the CBOR "Map"
|
||||
* type is being decoded to JavaScript's `Map` type instead of, say, a basic Object as us JS
|
||||
* developers might prefer.
|
||||
*
|
||||
* These types are an unorthodox way of saying "these Maps should involve these discrete lists of
|
||||
* keys", but it works.
|
||||
* @module
|
||||
*/
|
||||
/**
|
||||
* COSE public key common values
|
||||
*/
|
||||
export type COSEPublicKey = {
|
||||
get(key: COSEKEYS.kty): COSEKTY | undefined;
|
||||
get(key: COSEKEYS.alg): COSEALG | undefined;
|
||||
set(key: COSEKEYS.kty, value: COSEKTY): void;
|
||||
set(key: COSEKEYS.alg, value: COSEALG): void;
|
||||
};
|
||||
/**
|
||||
* Values specific to Octet Key Pair public keys
|
||||
*/
|
||||
export type COSEPublicKeyOKP = COSEPublicKey & {
|
||||
get(key: COSEKEYS.crv): number | undefined;
|
||||
get(key: COSEKEYS.x): Uint8Array | undefined;
|
||||
set(key: COSEKEYS.crv, value: number): void;
|
||||
set(key: COSEKEYS.x, value: Uint8Array): void;
|
||||
};
|
||||
/**
|
||||
* Values specific to Elliptic Curve Cryptography public keys
|
||||
*/
|
||||
export type COSEPublicKeyEC2 = COSEPublicKey & {
|
||||
get(key: COSEKEYS.crv): number | undefined;
|
||||
get(key: COSEKEYS.x): Uint8Array | undefined;
|
||||
get(key: COSEKEYS.y): Uint8Array | undefined;
|
||||
set(key: COSEKEYS.crv, value: number): void;
|
||||
set(key: COSEKEYS.x, value: Uint8Array): void;
|
||||
set(key: COSEKEYS.y, value: Uint8Array): void;
|
||||
};
|
||||
/**
|
||||
* Values specific to RSA public keys
|
||||
*/
|
||||
export type COSEPublicKeyRSA = COSEPublicKey & {
|
||||
get(key: COSEKEYS.n): Uint8Array | undefined;
|
||||
get(key: COSEKEYS.e): Uint8Array | undefined;
|
||||
set(key: COSEKEYS.n, value: Uint8Array): void;
|
||||
set(key: COSEKEYS.e, value: Uint8Array): void;
|
||||
};
|
||||
/**
|
||||
* A type guard for determining if a COSE public key is an OKP key pair
|
||||
*/
|
||||
export declare function isCOSEPublicKeyOKP(cosePublicKey: COSEPublicKey): cosePublicKey is COSEPublicKeyOKP;
|
||||
/**
|
||||
* A type guard for determining if a COSE public key is an EC2 key pair
|
||||
*/
|
||||
export declare function isCOSEPublicKeyEC2(cosePublicKey: COSEPublicKey): cosePublicKey is COSEPublicKeyEC2;
|
||||
/**
|
||||
* A type guard for determining if a COSE public key is an RSA key pair
|
||||
*/
|
||||
export declare function isCOSEPublicKeyRSA(cosePublicKey: COSEPublicKey): cosePublicKey is COSEPublicKeyRSA;
|
||||
/**
|
||||
* COSE Keys
|
||||
*
|
||||
* https://www.iana.org/assignments/cose/cose.xhtml#key-common-parameters
|
||||
* https://www.iana.org/assignments/cose/cose.xhtml#key-type-parameters
|
||||
*/
|
||||
export declare enum COSEKEYS {
|
||||
kty = 1,
|
||||
alg = 3,
|
||||
crv = -1,
|
||||
x = -2,
|
||||
y = -3,
|
||||
n = -1,
|
||||
e = -2
|
||||
}
|
||||
/**
|
||||
* COSE Key Types
|
||||
*
|
||||
* https://www.iana.org/assignments/cose/cose.xhtml#key-type
|
||||
*/
|
||||
export declare enum COSEKTY {
|
||||
OKP = 1,
|
||||
EC2 = 2,
|
||||
RSA = 3
|
||||
}
|
||||
export declare function isCOSEKty(kty: number | undefined): kty is COSEKTY;
|
||||
/**
|
||||
* COSE Curves
|
||||
*
|
||||
* https://www.iana.org/assignments/cose/cose.xhtml#elliptic-curves
|
||||
*/
|
||||
export declare enum COSECRV {
|
||||
P256 = 1,
|
||||
P384 = 2,
|
||||
P521 = 3,
|
||||
ED25519 = 6,
|
||||
SECP256K1 = 8
|
||||
}
|
||||
export declare function isCOSECrv(crv: number | undefined): crv is COSECRV;
|
||||
/**
|
||||
* COSE Algorithms
|
||||
*
|
||||
* https://www.iana.org/assignments/cose/cose.xhtml#algorithms
|
||||
*/
|
||||
export declare enum COSEALG {
|
||||
ES256 = -7,
|
||||
EdDSA = -8,
|
||||
ES384 = -35,
|
||||
ES512 = -36,
|
||||
PS256 = -37,
|
||||
PS384 = -38,
|
||||
PS512 = -39,
|
||||
ES256K = -47,
|
||||
RS256 = -257,
|
||||
RS384 = -258,
|
||||
RS512 = -259,
|
||||
RS1 = -65535
|
||||
}
|
||||
export declare function isCOSEAlg(alg: number | undefined): alg is COSEALG;
|
||||
//# sourceMappingURL=cose.d.ts.map
|
||||
Reference in New Issue
Block a user