Skip to content

Commit 0dcd452

Browse files
committed
second pass at webcrypto
1 parent 363eccd commit 0dcd452

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: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable:boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
11487+
importKey(format: "raw" | "pkcs8" | "spki", keyData: BufferSource, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable:boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
11488+
importKey(format: string, keyData: JsonWebKey | BufferSource, algorithm: string | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | DhImportKeyParams, extractable:boolean, keyUsages: string[]): PromiseLike<CryptoKey>;
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: {
@@ -13676,6 +13681,177 @@ interface ClipboardEventInit extends EventInit {
1367613681
interface IDBArrayKey extends Array<IDBValidKey> {
1367713682
}
1367813683

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

1368113857
interface ErrorEventHandler {
@@ -14045,4 +14221,5 @@ type MSOutboundPayload = MSVideoSendPayload | MSAudioSendPayload;
1404514221
type RTCIceGatherCandidate = RTCIceCandidate | RTCIceCandidateComplete;
1404614222
type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport;
1404714223
type payloadtype = number;
14048-
type IDBValidKey = number | string | Date | IDBArrayKey;
14224+
type IDBValidKey = number | string | Date | IDBArrayKey;
14225+
type BufferSource = ArrayBuffer | ArrayBufferView;

0 commit comments

Comments
 (0)