Skip to content

Commit 95f481d

Browse files
committed
third pass at webcrypto
1 parent 363eccd commit 95f481d

File tree

4 files changed

+981
-17
lines changed

4 files changed

+981
-17
lines changed

baselines/dom.generated.d.ts

Lines changed: 192 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,24 @@ 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+
exportKey(format: string, key: CryptoKey): PromiseLike<JsonWebKey | ArrayBuffer>;
11484+
generateKey(algorithm: string, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKeyPair | CryptoKey>;
11485+
generateKey(algorithm: RsaHashedKeyGenParams | EcKeyGenParams | DhKeyGenParams, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKeyPair>;
11486+
generateKey(algorithm: AesKeyGenParams | HmacKeyGenParams | Pbkdf2Params, extractable: boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
11487+
importKey(format: "jwk", keyData: JsonWebKey, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable:boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
11488+
importKey(format: "raw" | "pkcs8" | "spki", keyData: BufferSource, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable:boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
11489+
importKey(format: string, keyData: JsonWebKey | BufferSource, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable:boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
11490+
sign(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, data: BufferSource): PromiseLike<ArrayBuffer>;
11491+
unwrapKey(format: string, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier, unwrappedKeyAlgorithm: AlgorithmIdentifier, extractable: boolean, keyUsages: string[]): PromiseLike<ArrayBuffer>;
11492+
verify(algorithm: string | RsaPssParams | EcdsaParams | AesCmacParams, key: CryptoKey, signature: BufferSource, data: BufferSource): PromiseLike<boolean>;
11493+
wrapKey(format: string, key: CryptoKey, wrappingKey: CryptoKey, wrapAlgorithm: AlgorithmIdentifier): PromiseLike<ArrayBuffer>;
1148811494
}
1148911495

1149011496
declare var SubtleCrypto: {
@@ -13676,6 +13682,177 @@ interface ClipboardEventInit extends EventInit {
1367613682
interface IDBArrayKey extends Array<IDBValidKey> {
1367713683
}
1367813684

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

1368113858
interface ErrorEventHandler {
@@ -14045,4 +14222,5 @@ type MSOutboundPayload = MSVideoSendPayload | MSAudioSendPayload;
1404514222
type RTCIceGatherCandidate = RTCIceCandidate | RTCIceCandidateComplete;
1404614223
type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport;
1404714224
type payloadtype = number;
14048-
type IDBValidKey = number | string | Date | IDBArrayKey;
14225+
type IDBValidKey = number | string | Date | IDBArrayKey;
14226+
type BufferSource = ArrayBuffer | ArrayBufferView;

0 commit comments

Comments
 (0)