Skip to content

Commit c4e811b

Browse files
committed
second pass at webcrypto
1 parent 04bb287 commit c4e811b

File tree

4 files changed

+979
-17
lines changed

4 files changed

+979
-17
lines changed

baselines/dom.generated.d.ts

Lines changed: 191 additions & 14 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 {
@@ -11473,18 +11473,23 @@ declare var StyleSheetPageList: {
1147311473
}
1147411474

1147511475
interface SubtleCrypto {
11476-
decrypt(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): PromiseLike<any>;
11477-
deriveBits(algorithm: string | Algorithm, baseKey: CryptoKey, length: number): PromiseLike<any>;
11478-
deriveKey(algorithm: string | Algorithm, baseKey: CryptoKey, derivedKeyType: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike<any>;
11479-
digest(algorithm: string | Algorithm, data: ArrayBufferView): PromiseLike<any>;
11480-
encrypt(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): PromiseLike<any>;
11481-
exportKey(format: string, key: CryptoKey): PromiseLike<any>;
11482-
generateKey(algorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike<any>;
11483-
importKey(format: string, keyData: ArrayBufferView, algorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike<any>;
11484-
sign(algorithm: string | Algorithm, key: CryptoKey, data: ArrayBufferView): PromiseLike<any>;
11485-
unwrapKey(format: string, wrappedKey: ArrayBufferView, unwrappingKey: CryptoKey, unwrapAlgorithm: string | Algorithm, unwrappedKeyAlgorithm: string | Algorithm, extractable: boolean, keyUsages: string[]): PromiseLike<any>;
11486-
verify(algorithm: string | Algorithm, key: CryptoKey, signature: ArrayBufferView, data: ArrayBufferView): PromiseLike<any>;
11487-
wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: string | Algorithm): PromiseLike<any>;
11476+
decrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: BufferSource): PromiseLike<ArrayBuffer>;
11477+
deriveBits(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, length: number): PromiseLike<ArrayBuffer>;
11478+
deriveKey(algorithm: string | EcdhKeyDeriveParams | DhKeyDeriveParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, baseKey: CryptoKey, derivedKeyType: string | AesDerivedKeyParams | HmacImportParams | ConcatParams | HkdfCtrParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
11479+
digest(algorithm: AlgorithmIdentifier, data: BufferSource): PromiseLike<ArrayBuffer>;
11480+
encrypt(algorithm: string | RsaOaepParams | AesCtrParams | AesCbcParams | AesCmacParams | AesGcmParams | AesCfbParams, key: CryptoKey, data: BufferSource): PromiseLike<ArrayBuffer>;
11481+
exportKey(format: "jwk", key: CryptoKey): PromiseLike<JsonWebKey>;
11482+
exportKey(format: "raw" | "pkcs8" | "spki", key: CryptoKey): PromiseLike<ArrayBuffer>;
11483+
generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKeyPair | CryptoKey>;
11484+
generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKeyPair>;
11485+
generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
11486+
importKey(format: "jwk", keyData: JsonWebKey, algorithm: AlgorithmIdentifier, extractable:boolean, keyUsages: string[]): ): PromiseLike<ArrayBuffer>;
11487+
importKey(format: "raw" | "pkcs8" | "spki", keyData: BufferSource, algorithm: AlgorithmIdentifier, extractable:boolean, keyUsages: string[]): ): PromiseLike<ArrayBuffer>;
11488+
importKey(format: string, keyData: JsonWebKey | BufferSource, algorithm: AlgorithmIdentifier, extractable:boolean, keyUsages: string[]): ): PromiseLike<ArrayBuffer>;
11489+
sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: BufferSource): PromiseLike<ArrayBuffer>;
11490+
unwrapKey(format: string, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: string[]): PromiseLike<ArrayBuffer>;
11491+
verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: BufferSource, data: BufferSource): PromiseLike<boolean>;
11492+
wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): PromiseLike<ArrayBuffer>;
1148811493
}
1148911494

1149011495
declare var SubtleCrypto: {
@@ -13670,6 +13675,177 @@ interface ClipboardEventInit extends EventInit {
1367013675
interface IDBArrayKey extends Array<IDBValidKey> {
1367113676
}
1367213677

13678+
interface RsaKeyGenParams extends Algorithm {
13679+
modulusLength: number;
13680+
publicExponent: Uint8Array;
13681+
}
13682+
13683+
interface RsaHashedKeyGenParams extends RsaKeyGenParams {
13684+
hash: AlgorithmIdentifier;
13685+
}
13686+
13687+
interface RsaKeyAlgorithm extends KeyAlgorithm {
13688+
modulusLength: number;
13689+
publicExponent: Uint8Array;
13690+
}
13691+
13692+
interface RsaHashedKeyAlgorithm extends RsaKeyAlgorithm {
13693+
hash: AlgorithmIdentifier;
13694+
}
13695+
13696+
interface RsaHashedImportParams {
13697+
hash: AlgorithmIdentifier;
13698+
}
13699+
13700+
interface RsaPssParams {
13701+
saltLength: number;
13702+
}
13703+
13704+
interface RsaOaepParams extends Algorithm {
13705+
label?: BufferSource;
13706+
}
13707+
13708+
interface EcdsaParams extends Algorithm {
13709+
hash: AlgorithmIdentifier;
13710+
}
13711+
13712+
interface EcKeyGenParams extends Algorithm {
13713+
typedCurve: string;
13714+
}
13715+
13716+
interface EcKeyAlgorithm extends KeyAlgorithm {
13717+
typedCurve: string;
13718+
}
13719+
13720+
interface EcKeyImportParams {
13721+
typedCurve: string;
13722+
}
13723+
13724+
interface EcdhKeyDeriveParams extends Algorithm {
13725+
public: CryptoKey;
13726+
}
13727+
13728+
interface AesCtrParams extends Algorithm {
13729+
counter: BufferSource;
13730+
length: number;
13731+
}
13732+
13733+
interface AesKeyAlgorithm extends KeyAlgorithm {
13734+
length: number;
13735+
}
13736+
13737+
interface AesKeyGenParams extends Algorithm {
13738+
length: number;
13739+
}
13740+
13741+
interface AesDerivedKeyParams extends Algorithm {
13742+
length: number;
13743+
}
13744+
13745+
interface AesCbcParams extends Algorithm {
13746+
iv: BufferSource;
13747+
}
13748+
13749+
interface AesCmacParams extends Algorithm {
13750+
length: number;
13751+
}
13752+
13753+
interface AesGcmParams extends Algorithm {
13754+
iv: BufferSource;
13755+
additionalData?: BufferSource;
13756+
tagLength?: number;
13757+
}
13758+
13759+
interface AesCfbParams extends Algorithm {
13760+
iv: BufferSource;
13761+
}
13762+
13763+
interface HmacImportParams extends Algorithm {
13764+
hash?: AlgorithmIdentifier;
13765+
length?: number;
13766+
}
13767+
13768+
interface HmacKeyAlgorithm extends KeyAlgorithm {
13769+
hash: AlgorithmIdentifier;
13770+
length: number;
13771+
}
13772+
13773+
interface HmacKeyGenParams extends Algorithm {
13774+
hash: AlgorithmIdentifier;
13775+
length?: number;
13776+
}
13777+
13778+
interface DhKeyGenParams extends Algorithm {
13779+
prime: Uint8Array;
13780+
generator: Uint8Array;
13781+
}
13782+
13783+
interface DhKeyAlgorithm extends KeyAlgorithm {
13784+
prime: Uint8Array;
13785+
generator: Uint8Array;
13786+
}
13787+
13788+
interface DhKeyDeriveParams extends Algorithm {
13789+
public: CryptoKey;
13790+
}
13791+
13792+
interface DhImportKeyParams extends Algorithm {
13793+
prime: Uint8Array;
13794+
generator: Uint8Array;
13795+
}
13796+
13797+
interface ConcatParams extends Algorithm {
13798+
hash?: AlgorithmIdentifier;
13799+
algorithmId: Uint8Array;
13800+
partyUInfo: Uint8Array;
13801+
partyVInfo: Uint8Array;
13802+
publicInfo?: Uint8Array;
13803+
privateInfo?: Uint8Array;
13804+
}
13805+
13806+
interface HkdfCtrParams extends Algorithm {
13807+
hash: AlgorithmIdentifier;
13808+
label: BufferSource;
13809+
context: BufferSource;
13810+
}
13811+
13812+
interface Pbkdf2Params extends Algorithm {
13813+
salt: BufferSource;
13814+
iterations: number;
13815+
hash: AlgorithmIdentifier;
13816+
}
13817+
13818+
interface RsaOtherPrimesInfo {
13819+
r: string;
13820+
d: string;
13821+
t: string;
13822+
}
13823+
13824+
interface JsonWebKey {
13825+
kty: string;
13826+
use?: string;
13827+
key_ops?: string[];
13828+
alg?: string;
13829+
kid?: string;
13830+
x5u?: string;
13831+
x5c?: string;
13832+
x5t?: string;
13833+
ext?: boolean;
13834+
crv?: string;
13835+
x?: string;
13836+
y?: string;
13837+
d?: string;
13838+
n?: string;
13839+
e?: string;
13840+
p?: string;
13841+
q?: string;
13842+
dp?: string;
13843+
dq?: string;
13844+
qi?: string;
13845+
oth?: RsaOtherPrimesInfo[];
13846+
k?: string;
13847+
}
13848+
1367313849
declare type EventListenerOrEventListenerObject = EventListener | EventListenerObject;
1367413850

1367513851
interface ErrorEventHandler {
@@ -14039,4 +14215,5 @@ type MSOutboundPayload = MSVideoSendPayload | MSAudioSendPayload;
1403914215
type RTCIceGatherCandidate = RTCIceCandidate | RTCIceCandidateComplete;
1404014216
type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport;
1404114217
type payloadtype = number;
14042-
type IDBValidKey = number | string | Date | IDBArrayKey;
14218+
type IDBValidKey = number | string | Date | IDBArrayKey;
14219+
type BufferSource = ArrayBuffer | ArrayBufferView;

0 commit comments

Comments
 (0)