Skip to content

Commit 94ac2a1

Browse files
committed
flesh out webcrypto
1 parent 6997d8f commit 94ac2a1

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 {
@@ -11478,18 +11478,24 @@ declare var StyleSheetPageList: {
1147811478
}
1147911479

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

1149511501
declare var SubtleCrypto: {
@@ -13673,6 +13679,177 @@ interface ClipboardEventInit extends EventInit {
1367313679
interface IDBArrayKey extends Array<IDBValidKey> {
1367413680
}
1367513681

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

1367813855
interface ErrorEventHandler {
@@ -14042,4 +14219,5 @@ type MSOutboundPayload = MSVideoSendPayload | MSAudioSendPayload;
1404214219
type RTCIceGatherCandidate = RTCIceCandidate | RTCIceCandidateComplete;
1404314220
type RTCTransport = RTCDtlsTransport | RTCSrtpSdesTransport;
1404414221
type payloadtype = number;
14045-
type IDBValidKey = number | string | Date | IDBArrayKey;
14222+
type IDBValidKey = number | string | Date | IDBArrayKey;
14223+
type BufferSource = ArrayBuffer | ArrayBufferView;

0 commit comments

Comments
 (0)