Skip to content

Commit 3dc7e36

Browse files
committed
flesh out webcrypto
1 parent 1ad7597 commit 3dc7e36

File tree

4 files changed

+960
-15
lines changed

4 files changed

+960
-15
lines changed

baselines/dom.generated.d.ts

Lines changed: 186 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
/////////////////////////////
55

66
interface Algorithm {
7-
name?: string;
7+
name: string;
88
}
99

1010
interface AriaRequestEventInit extends EventInit {
@@ -10439,18 +10439,20 @@ declare var StyleSheetPageList: {
1043910439
}
1044010440

1044110441
interface SubtleCrypto {
10442-
decrypt(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): any;
10443-
deriveBits(algorithm: string | Algorithm, baseKey: CryptoKey, length: number): any;
10444-
deriveKey(algorithm: string | Algorithm, baseKey: CryptoKey, derivedKeyType: string | Algorithm, extractable: boolean, keyUsages: string[]): any;
10445-
digest(algorithm: string | Algorithm, data: ArrayBufferView): any;
10446-
encrypt(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): any;
10447-
exportKey(format: string, key: CryptoKey): any;
10448-
generateKey(algorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): any;
10449-
importKey(format: string, keyData: ArrayBufferView, algorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): any;
10450-
sign(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): any;
10451-
unwrapKey(format: string, wrappedKey: ArrayBufferView, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): any;
10452-
verify(algorithm: string | Algorithm, key: CryptoKey, signature: ArrayBufferView, data: ArrayBufferView): any;
10453-
wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): any;
10442+
decrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: ArrayBuffer | ArrayBufferView): PromiseLike<ArrayBuffer>;
10443+
deriveBits(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, length: number): PromiseLike<ArrayBuffer>;
10444+
deriveKey(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: string | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
10445+
digest(algorithm: string | Algorithm, data: ArrayBuffer | ArrayBufferView): PromiseLike<ArrayBuffer>;
10446+
encrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: ArrayBuffer | ArrayBufferView): PromiseLike<ArrayBuffer>;
10447+
exportKey(format: string, key: CryptoKey): PromiseLike<ArrayBuffer | JsonWebKey>;
10448+
generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKeyPair | CryptoKey>;
10449+
generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKeyPair>;
10450+
generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
10451+
importKey(format: string, keyData: ArrayBuffer | ArrayBufferView | JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
10452+
sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: ArrayBuffer | ArrayBufferView): PromiseLike<ArrayBuffer>;
10453+
unwrapKey(format: string, wrappedKey: ArrayBuffer | ArrayBufferView, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike<ArrayBuffer>;
10454+
verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: ArrayBuffer | ArrayBufferView, data: ArrayBuffer | ArrayBufferView): PromiseLike<boolean>;
10455+
wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): PromiseLike<ArrayBuffer>;
1045410456
}
1045510457

1045610458
declare var SubtleCrypto: {
@@ -12658,6 +12660,177 @@ declare var HTMLPictureElement: {
1265812660
new(): HTMLPictureElement;
1265912661
}
1266012662

12663+
interface RsaKeyGenParams extends Algorithm {
12664+
modulusLength: number;
12665+
publicExponent: Uint8Array;
12666+
}
12667+
12668+
interface RsaHashedKeyGenParams extends RsaKeyGenParams {
12669+
hash: string | Algorithm;
12670+
}
12671+
12672+
interface RsaKeyAlgorithm extends KeyAlgorithm {
12673+
modulusLength: number;
12674+
publicExponent: Uint8Array;
12675+
}
12676+
12677+
interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
12678+
hash: string | Algorithm;
12679+
}
12680+
12681+
interface RsaHashedImportParams {
12682+
hash: string | Algorithm;
12683+
}
12684+
12685+
interface RsaPssParams {
12686+
saltLength: number;
12687+
}
12688+
12689+
interface RsaOaepParams extends Algorithm {
12690+
label?: ArrayBuffer | ArrayBufferView;
12691+
}
12692+
12693+
interface EcdsaParams extends Algorithm {
12694+
hash: string | Algorithm;
12695+
}
12696+
12697+
interface EcKeyGenParams extends Algorithm {
12698+
typedCurve: string;
12699+
}
12700+
12701+
interface EcKeyAlgorithm extends KeyAlgorithm {
12702+
typedCurve: string;
12703+
}
12704+
12705+
interface EcKeyImportParams {
12706+
typedCurve: string;
12707+
}
12708+
12709+
interface EcdhKeyDeriveParams extends Algorithm {
12710+
public: CryptoKey;
12711+
}
12712+
12713+
interface AesCtrParams extends Algorithm {
12714+
counter: ArrayBuffer | ArrayBufferView;
12715+
length: number;
12716+
}
12717+
12718+
interface AesKeyAlgorithm extends KeyAlgorithm {
12719+
length: number;
12720+
}
12721+
12722+
interface AesKeyGenParams extends Algorithm {
12723+
length: number;
12724+
}
12725+
12726+
interface AesDerivedKeyParams extends Algorithm {
12727+
length: number;
12728+
}
12729+
12730+
interface AesCbcParams extends Algorithm {
12731+
iv: ArrayBuffer | ArrayBufferView;
12732+
}
12733+
12734+
interface AesCmacParams extends Algorithm {
12735+
length: number;
12736+
}
12737+
12738+
interface AesGcmParams extends Algorithm {
12739+
iv: ArrayBuffer | ArrayBufferView;
12740+
additionalData?: ArrayBuffer | ArrayBufferView;
12741+
tagLength?: number;
12742+
}
12743+
12744+
interface AesCfbParams extends Algorithm {
12745+
iv: ArrayBuffer | ArrayBufferView;
12746+
}
12747+
12748+
interface HmacImportParams extends Algorithm {
12749+
hash?: string | Algorithm;
12750+
length?: number;
12751+
}
12752+
12753+
interface HmacKeyAlgorithm extends KeyAlgorithm {
12754+
hash: string | Algorithm;
12755+
length: number;
12756+
}
12757+
12758+
interface HmacKeyGenParams extends Algorithm {
12759+
hash: string | Algorithm;
12760+
length?: number;
12761+
}
12762+
12763+
interface DhKeyGenParams extends Algorithm {
12764+
prime: Uint8Array;
12765+
generator: Uint8Array;
12766+
}
12767+
12768+
interface DhKeyAlgorithm extends KeyAlgorithm {
12769+
prime: Uint8Array;
12770+
generator: Uint8Array;
12771+
}
12772+
12773+
interface DhKeyDeriveParams extends Algorithm {
12774+
public: CryptoKey;
12775+
}
12776+
12777+
interface DhImportKeyParams extends Algorithm {
12778+
prime: Uint8Array;
12779+
generator: Uint8Array;
12780+
}
12781+
12782+
interface ConcatParams extends Algorithm {
12783+
hash?: string | Algorithm;
12784+
algorithmId: Uint8Array;
12785+
partyUInfo: Uint8Array;
12786+
partyVInfo: Uint8Array;
12787+
publicInfo?: Uint8Array;
12788+
privateInfo?: Uint8Array;
12789+
}
12790+
12791+
interface HkdfCtrParams extends Algorithm {
12792+
hash: string | Algorithm;
12793+
label: ArrayBuffer | ArrayBufferView;
12794+
context: ArrayBuffer | ArrayBufferView;
12795+
}
12796+
12797+
interface Pbkdf2Params extends Algorithm {
12798+
salt: ArrayBuffer | ArrayBufferView;
12799+
iterations: number;
12800+
hash: string | Algorithm;
12801+
}
12802+
12803+
interface RsaOtherPrimesInfo {
12804+
r: string;
12805+
d: string;
12806+
t: string;
12807+
}
12808+
12809+
interface JsonWebKey {
12810+
kty: string;
12811+
use?: string;
12812+
key_ops?: string[];
12813+
alg?: string;
12814+
kid?: string;
12815+
x5u?: string;
12816+
x5c?: string;
12817+
x5t?: string;
12818+
ext?: boolean;
12819+
crv?: string;
12820+
x?: string;
12821+
y?: string;
12822+
d?: string;
12823+
n?: string;
12824+
e?: string;
12825+
p?: string;
12826+
q?: string;
12827+
dp?: string;
12828+
dq?: string;
12829+
qi?: string;
12830+
oth?: RsaOtherPrimesInfo[];
12831+
k?: string;
12832+
}
12833+
1266112834
declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject;
1266212835

1266312836
interface ErrorEventHandler {

baselines/webworker.generated.d.ts

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -933,6 +933,177 @@ interface ProgressEventInit extends EventInit {
933933
total?: number;
934934
}
935935

936+
interface RsaKeyGenParams extends Algorithm {
937+
modulusLength: number;
938+
publicExponent: Uint8Array;
939+
}
940+
941+
interface RsaHashedKeyGenParams extends RsaKeyGenParams {
942+
hash: string | Algorithm;
943+
}
944+
945+
interface RsaKeyAlgorithm extends KeyAlgorithm {
946+
modulusLength: number;
947+
publicExponent: Uint8Array;
948+
}
949+
950+
interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
951+
hash: string | Algorithm;
952+
}
953+
954+
interface RsaHashedImportParams {
955+
hash: string | Algorithm;
956+
}
957+
958+
interface RsaPssParams {
959+
saltLength: number;
960+
}
961+
962+
interface RsaOaepParams extends Algorithm {
963+
label?: ArrayBuffer | ArrayBufferView;
964+
}
965+
966+
interface EcdsaParams extends Algorithm {
967+
hash: string | Algorithm;
968+
}
969+
970+
interface EcKeyGenParams extends Algorithm {
971+
typedCurve: string;
972+
}
973+
974+
interface EcKeyAlgorithm extends KeyAlgorithm {
975+
typedCurve: string;
976+
}
977+
978+
interface EcKeyImportParams {
979+
typedCurve: string;
980+
}
981+
982+
interface EcdhKeyDeriveParams extends Algorithm {
983+
public: CryptoKey;
984+
}
985+
986+
interface AesCtrParams extends Algorithm {
987+
counter: ArrayBuffer | ArrayBufferView;
988+
length: number;
989+
}
990+
991+
interface AesKeyAlgorithm extends KeyAlgorithm {
992+
length: number;
993+
}
994+
995+
interface AesKeyGenParams extends Algorithm {
996+
length: number;
997+
}
998+
999+
interface AesDerivedKeyParams extends Algorithm {
1000+
length: number;
1001+
}
1002+
1003+
interface AesCbcParams extends Algorithm {
1004+
iv: ArrayBuffer | ArrayBufferView;
1005+
}
1006+
1007+
interface AesCmacParams extends Algorithm {
1008+
length: number;
1009+
}
1010+
1011+
interface AesGcmParams extends Algorithm {
1012+
iv: ArrayBuffer | ArrayBufferView;
1013+
additionalData?: ArrayBuffer | ArrayBufferView;
1014+
tagLength?: number;
1015+
}
1016+
1017+
interface AesCfbParams extends Algorithm {
1018+
iv: ArrayBuffer | ArrayBufferView;
1019+
}
1020+
1021+
interface HmacImportParams extends Algorithm {
1022+
hash?: string | Algorithm;
1023+
length?: number;
1024+
}
1025+
1026+
interface HmacKeyAlgorithm extends KeyAlgorithm {
1027+
hash: string | Algorithm;
1028+
length: number;
1029+
}
1030+
1031+
interface HmacKeyGenParams extends Algorithm {
1032+
hash: string | Algorithm;
1033+
length?: number;
1034+
}
1035+
1036+
interface DhKeyGenParams extends Algorithm {
1037+
prime: Uint8Array;
1038+
generator: Uint8Array;
1039+
}
1040+
1041+
interface DhKeyAlgorithm extends KeyAlgorithm {
1042+
prime: Uint8Array;
1043+
generator: Uint8Array;
1044+
}
1045+
1046+
interface DhKeyDeriveParams extends Algorithm {
1047+
public: CryptoKey;
1048+
}
1049+
1050+
interface DhImportKeyParams extends Algorithm {
1051+
prime: Uint8Array;
1052+
generator: Uint8Array;
1053+
}
1054+
1055+
interface ConcatParams extends Algorithm {
1056+
hash?: string | Algorithm;
1057+
algorithmId: Uint8Array;
1058+
partyUInfo: Uint8Array;
1059+
partyVInfo: Uint8Array;
1060+
publicInfo?: Uint8Array;
1061+
privateInfo?: Uint8Array;
1062+
}
1063+
1064+
interface HkdfCtrParams extends Algorithm {
1065+
hash: string | Algorithm;
1066+
label: ArrayBuffer | ArrayBufferView;
1067+
context: ArrayBuffer | ArrayBufferView;
1068+
}
1069+
1070+
interface Pbkdf2Params extends Algorithm {
1071+
salt: ArrayBuffer | ArrayBufferView;
1072+
iterations: number;
1073+
hash: string | Algorithm;
1074+
}
1075+
1076+
interface RsaOtherPrimesInfo {
1077+
r: string;
1078+
d: string;
1079+
t: string;
1080+
}
1081+
1082+
interface JsonWebKey {
1083+
kty: string;
1084+
use?: string;
1085+
key_ops?: string[];
1086+
alg?: string;
1087+
kid?: string;
1088+
x5u?: string;
1089+
x5c?: string;
1090+
x5t?: string;
1091+
ext?: boolean;
1092+
crv?: string;
1093+
x?: string;
1094+
y?: string;
1095+
d?: string;
1096+
n?: string;
1097+
e?: string;
1098+
p?: string;
1099+
q?: string;
1100+
dp?: string;
1101+
dq?: string;
1102+
qi?: string;
1103+
oth?: RsaOtherPrimesInfo[];
1104+
k?: string;
1105+
}
1106+
9361107
declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject;
9371108

9381109
interface ErrorEventHandler {

0 commit comments

Comments
 (0)