Skip to content

Commit 37dff39

Browse files
committed
fix: Align types with webcrypto-core and TS
1 parent e768b16 commit 37dff39

File tree

9 files changed

+18
-15
lines changed

9 files changed

+18
-15
lines changed

src/crypto.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,10 @@ export class Crypto extends core.Crypto {
66

77
public subtle = new SubtleCrypto();
88

9-
public getRandomValues<T extends ArrayBufferView>(array: T): T {
9+
public getRandomValues<T extends ArrayBufferView | null>(array: T): T {
10+
if (!ArrayBuffer.isView(array)) {
11+
throw new TypeError("Failed to execute 'getRandomValues' on 'Crypto': parameter 1 is not of type 'ArrayBufferView'");
12+
}
1013
const buffer = Buffer.from(array.buffer);
1114
crypto.randomFillSync(buffer);
1215
return array;

src/mechs/aes/aes_cmac.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,12 +125,12 @@ export class AesCmacProvider extends core.AesCmacProvider {
125125
return setCryptoKey(key);
126126
}
127127

128-
public async onSign(algorithm: AesCmacParams, key: AesCryptoKey, data: ArrayBuffer): Promise<ArrayBuffer> {
128+
public async onSign(algorithm: core.AesCmacParams, key: AesCryptoKey, data: ArrayBuffer): Promise<ArrayBuffer> {
129129
const result = aesCmac(getCryptoKey(key).data, Buffer.from(data));
130130
return new Uint8Array(result).buffer;
131131
}
132132

133-
public async onVerify(algorithm: AesCmacParams, key: AesCryptoKey, signature: ArrayBuffer, data: ArrayBuffer): Promise<boolean> {
133+
public async onVerify(algorithm: core.AesCmacParams, key: AesCryptoKey, signature: ArrayBuffer, data: ArrayBuffer): Promise<boolean> {
134134
const signature2 = await this.sign(algorithm, key, data);
135135
return Buffer.from(signature).compare(Buffer.from(signature2)) === 0;
136136
}

src/mechs/ed/ecdh_es.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { EdCrypto } from "./crypto";
55

66
export class EcdhEsProvider extends core.EcdhEsProvider {
77

8-
public async onGenerateKey(algorithm: EcKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair> {
8+
public async onGenerateKey(algorithm: EcKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<core.CryptoKeyPair> {
99
const keys = await EdCrypto.generateKey(
1010
{
1111
name: this.name,

src/mechs/ed/eddsa.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { EdPublicKey } from "./public_key";
77

88
export class EdDsaProvider extends core.EdDsaProvider {
99

10-
public async onGenerateKey(algorithm: EcKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair> {
10+
public async onGenerateKey(algorithm: EcKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<core.CryptoKeyPair> {
1111
const keys = await EdCrypto.generateKey(
1212
{
1313
name: this.name,
@@ -21,19 +21,19 @@ export class EdDsaProvider extends core.EdDsaProvider {
2121
publicKey: setCryptoKey(keys.publicKey as CryptoKey),
2222
};
2323
}
24-
24+
2525
public async onSign(algorithm: EcdsaParams, key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer> {
2626
return EdCrypto.sign(algorithm, getCryptoKey(key) as EdPrivateKey, new Uint8Array(data));
2727
}
28-
28+
2929
public async onVerify(algorithm: EcdsaParams, key: CryptoKey, signature: ArrayBuffer, data: ArrayBuffer): Promise<boolean> {
3030
return EdCrypto.verify(algorithm, getCryptoKey(key) as EdPublicKey, new Uint8Array(signature), new Uint8Array(data));
3131
}
32-
32+
3333
public async onExportKey(format: KeyFormat, key: CryptoKey): Promise<ArrayBuffer | JsonWebKey> {
3434
return EdCrypto.exportKey(format, getCryptoKey(key));
3535
}
36-
36+
3737
public async onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<core.CryptoKey> {
3838
const key = await EdCrypto.importKey(format, keyData, { ...algorithm, name: this.name }, extractable, keyUsages);
3939
return setCryptoKey(key);

src/mechs/rsa/crypto.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ export class RsaCrypto {
1818
public static publicKeyUsages = ["verify", "encrypt", "wrapKey"];
1919
public static privateKeyUsages = ["sign", "decrypt", "unwrapKey"];
2020

21-
public static async generateKey(algorithm: RsaHashedKeyGenParams | RsaKeyGenParams, extractable: boolean, keyUsages: string[]): Promise<CryptoKeyPair> {
21+
public static async generateKey(algorithm: RsaHashedKeyGenParams | RsaKeyGenParams, extractable: boolean, keyUsages: string[]): Promise<core.CryptoKeyPair> {
2222
const privateKey = new RsaPrivateKey();
2323
privateKey.algorithm = algorithm as RsaHashedKeyAlgorithm;
2424
privateKey.extractable = extractable;
@@ -50,7 +50,7 @@ export class RsaCrypto {
5050
privateKey.data = keys.privateKey;
5151
publicKey.data = keys.publicKey;
5252

53-
const res: CryptoKeyPair = {
53+
const res = {
5454
privateKey,
5555
publicKey,
5656
};

src/mechs/rsa/rsa_es.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export class RsaEsProvider extends core.ProviderCrypto {
1414
privateKey: ["decrypt", "unwrapKey"] as core.KeyUsages,
1515
};
1616

17-
public async onGenerateKey(algorithm: RsaKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair> {
17+
public async onGenerateKey(algorithm: RsaKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<core.CryptoKeyPair> {
1818
const keys = await RsaCrypto.generateKey(
1919
{
2020
...algorithm,

src/mechs/rsa/rsa_oaep.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { RsaPublicKey } from "./public_key";
1515

1616
export class RsaOaepProvider extends core.RsaOaepProvider {
1717

18-
public async onGenerateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair> {
18+
public async onGenerateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<core.CryptoKeyPair> {
1919
const keys = await RsaCrypto.generateKey(
2020
{
2121
...algorithm,

src/mechs/rsa/rsa_pss.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { RsaPublicKey } from "./public_key";
66

77
export class RsaPssProvider extends core.RsaPssProvider {
88

9-
public async onGenerateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair> {
9+
public async onGenerateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<core.CryptoKeyPair> {
1010
const keys = await RsaCrypto.generateKey(
1111
{
1212
...algorithm,

src/mechs/rsa/rsa_ssa.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { RsaPublicKey } from "./public_key";
66

77
export class RsaSsaProvider extends core.RsaSsaProvider {
88

9-
public async onGenerateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<CryptoKeyPair> {
9+
public async onGenerateKey(algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[]): Promise<core.CryptoKeyPair> {
1010
const keys = await RsaCrypto.generateKey(
1111
{
1212
...algorithm,

0 commit comments

Comments
 (0)