Skip to content

Commit 53276c5

Browse files
committed
dom libを読み込んでimport type { webcrypto } from "node:crypto";をなくす
1 parent 1646754 commit 53276c5

20 files changed

+39
-65
lines changed

dist/digest/utils.d.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
/// <reference types="node" />
2-
import { webcrypto as crypto } from 'node:crypto';
31
import { DigestHashAlgorithm } from '../types';
4-
export type DigestSource = crypto.BufferSource | string;
2+
export type DigestSource = BufferSource | string;
53
export declare function createBase64Digest(body: DigestSource, hash: DigestHashAlgorithm): Promise<string>;
64
export declare function createBase64Digest<Ks extends DigestHashAlgorithm[]>(body: DigestSource, hash: Ks): Promise<Map<Ks[number], string>>;
75
export declare function createBase64Digest(body: DigestSource): Promise<string>;

dist/draft/sign.d.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
/// <reference types="node" />
2-
import type { webcrypto } from 'node:crypto';
31
import type { PrivateKey, RequestLike, SignatureHashAlgorithmUpperSnake } from '../types.js';
42
import { type SignInfoDefaults } from '../utils.js';
53
/**
@@ -16,7 +14,7 @@ export declare function genDraftSigningString(request: RequestLike, includeHeade
1614
expires?: string;
1715
opaque?: string;
1816
}): string;
19-
export declare function genDraftSignature(privateKey: webcrypto.CryptoKey, signingString: string, defaults?: SignInfoDefaults): Promise<string>;
17+
export declare function genDraftSignature(privateKey: CryptoKey, signingString: string, defaults?: SignInfoDefaults): Promise<string>;
2018
export declare function genDraftSignatureHeader(includeHeaders: string[], keyId: string, signature: string, algorithm: string): string;
2119
/**
2220
*

dist/draft/verify.d.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
/// <reference types="node" />
21
import { ParsedDraftSignature } from "../types";
32
import { parseSignInfo } from "../shared/verify";
4-
import type { webcrypto } from "node:crypto";
53
/**
64
* @deprecated Use `parseSignInfo`
75
*/
@@ -12,4 +10,4 @@ export declare const genSignInfoDraft: typeof parseSignInfo;
1210
* @param key public key
1311
* @param errorLogger: If you want to log errors, set function
1412
*/
15-
export declare function verifyDraftSignature(parsed: ParsedDraftSignature['value'], key: string | webcrypto.CryptoKey, errorLogger?: (message: any) => any): Promise<boolean>;
13+
export declare function verifyDraftSignature(parsed: ParsedDraftSignature['value'], key: string | CryptoKey, errorLogger?: (message: any) => any): Promise<boolean>;

dist/keypair.d.ts

+6-8
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
/// <reference types="node" />
2-
import { webcrypto } from 'node:crypto';
3-
import { ECNamedCurve } from './types';
4-
export declare function exportPublicKeyPem(key: webcrypto.CryptoKey): Promise<string>;
5-
export declare function exportPrivateKeyPem(key: webcrypto.CryptoKey): Promise<string>;
6-
export declare function genRsaKeyPair(modulusLength?: number, keyUsage?: webcrypto.KeyUsage[]): Promise<{
1+
import type { ECNamedCurve } from './types';
2+
export declare function exportPublicKeyPem(key: CryptoKey): Promise<string>;
3+
export declare function exportPrivateKeyPem(key: CryptoKey): Promise<string>;
4+
export declare function genRsaKeyPair(modulusLength?: number, keyUsage?: KeyUsage[]): Promise<{
75
publicKey: string;
86
privateKey: string;
97
}>;
10-
export declare function genEcKeyPair(namedCurve?: ECNamedCurve, keyUsage?: webcrypto.KeyUsage[]): Promise<{
8+
export declare function genEcKeyPair(namedCurve?: ECNamedCurve, keyUsage?: KeyUsage[]): Promise<{
119
publicKey: string;
1210
privateKey: string;
1311
}>;
14-
export declare function genEd25519KeyPair(keyUsage?: webcrypto.KeyUsage[]): Promise<{
12+
export declare function genEd25519KeyPair(keyUsage?: KeyUsage[]): Promise<{
1513
publicKey: string;
1614
privateKey: string;
1715
}>;

dist/pem/pkcs8.d.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
/// <reference types="node" />
21
import ASN1 from '@lapo/asn1js';
32
import { ParsedAlgorithmIdentifierBase } from './spki.js';
43
import { SignInfoDefaults } from '../utils.js';
5-
import type { webcrypto } from 'node:crypto';
64
export declare class Pkcs8ParseError extends Error {
75
constructor(message: string);
86
}
@@ -37,4 +35,4 @@ export declare function parsePkcs8(input: ASN1.StreamOrBinary): ParsedPkcs8;
3735
* @param defaults
3836
* @returns CryptoKey
3937
*/
40-
export declare function importPrivateKey(key: ASN1.StreamOrBinary, keyUsages?: webcrypto.KeyUsage[], defaults?: SignInfoDefaults, extractable?: boolean): Promise<webcrypto.CryptoKey>;
38+
export declare function importPrivateKey(key: ASN1.StreamOrBinary, keyUsages?: KeyUsage[], defaults?: SignInfoDefaults, extractable?: boolean): Promise<CryptoKey>;

dist/pem/spki.d.ts

+3-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
/// <reference types="node" />
21
import ASN1 from '@lapo/asn1js';
32
import { ECNamedCurve, KeyAlgorithmName } from '../types';
4-
import type { webcrypto } from 'node:crypto';
53
import { SignInfoDefaults } from '../utils';
64
export declare class SpkiParseError extends Error {
75
constructor(message: string);
@@ -101,7 +99,7 @@ export declare function parsePublicKey(input: ASN1.StreamOrBinary): SpkiParsedAl
10199
* @param defaults
102100
* @returns CryptoKey
103101
*/
104-
export declare function importPublicKey(key: ASN1.StreamOrBinary, keyUsages?: webcrypto.KeyUsage[], defaults?: SignInfoDefaults, extractable?: boolean): Promise<webcrypto.CryptoKey>;
102+
export declare function importPublicKey(key: ASN1.StreamOrBinary, keyUsages?: KeyUsage[], defaults?: SignInfoDefaults, extractable?: boolean): Promise<CryptoKey>;
105103
/**
106104
* Prepare public key for verification
107105
* @param source PEM, DER or CryptoKey
@@ -110,8 +108,8 @@ export declare function importPublicKey(key: ASN1.StreamOrBinary, keyUsages?: we
110108
* @param errorLogger
111109
* @returns
112110
*/
113-
export declare function parseAndImportPublicKey(source: ASN1.StreamOrBinary | webcrypto.CryptoKey, keyUsages?: webcrypto.KeyUsage[], providedAlgorithm?: string, errorLogger?: ((message: any) => any)): Promise<{
114-
publicKey: webcrypto.CryptoKey;
111+
export declare function parseAndImportPublicKey(source: ASN1.StreamOrBinary | CryptoKey, keyUsages?: KeyUsage[], providedAlgorithm?: string, errorLogger?: ((message: any) => any)): Promise<{
112+
publicKey: CryptoKey;
115113
algorithm: {
116114
name: string;
117115
hash: import("../types").SignatureHashAlgorithmUpperSnake;

dist/shared/verify.d.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
/**
22
* Verify Request (Parsed)
33
*/
4-
/// <reference types="node" />
54
import type { SignInfo } from '../types.js';
65
import { ParsedAlgorithmIdentifier } from '../pem/spki.js';
7-
import type { webcrypto } from 'node:crypto';
86
export declare class KeyHashValidationError extends Error {
97
constructor(message: string);
108
}
@@ -14,4 +12,4 @@ export declare class KeyHashValidationError extends Error {
1412
* @param algorithm ヘッダーのアルゴリズム
1513
* @param publicKey 実際の公開鍵
1614
*/
17-
export declare function parseSignInfo(algorithm: string | undefined, real: ParsedAlgorithmIdentifier | webcrypto.CryptoKey['algorithm'], errorLogger?: ((message: any) => any)): SignInfo;
15+
export declare function parseSignInfo(algorithm: string | undefined, real: ParsedAlgorithmIdentifier | CryptoKey['algorithm'], errorLogger?: ((message: any) => any)): SignInfo;

dist/types.d.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
/// <reference types="node" />
22
/// <reference types="node" />
3-
/// <reference types="node" />
43
import type { IncomingMessage, ServerResponse } from "http";
54
import type { Http2ServerRequest, Http2ServerResponse } from "http2";
6-
import type { webcrypto } from "node:crypto";
75
export type HeadersValueLike = string | number | null | undefined;
86
export type HeadersValueLikeArrayable = HeadersValueLike | HeadersValueLike[];
97
export type HeadersLike = Record<string, HeadersValueLikeArrayable>;
@@ -75,7 +73,7 @@ export type PrivateKeyWithPem = {
7573
keyId: string;
7674
};
7775
export type PrivateKeyWithCryptoKey = {
78-
privateKey: webcrypto.CryptoKey;
76+
privateKey: CryptoKey;
7977
keyId: string;
8078
};
8179
export type PrivateKey = PrivateKeyWithPem | PrivateKeyWithCryptoKey;

dist/utils.d.ts

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1-
/// <reference types="node" />
21
import type { MapLikeObj, SignInfo, SignatureHashAlgorithmUpperSnake, HeadersLike, HeadersValueLike, HeadersValueLikeArrayable } from './types.js';
32
import { ParsedAlgorithmIdentifier } from './pem/spki.js';
4-
import type { webcrypto } from 'node:crypto';
5-
export declare function getWebcrypto(): Promise<webcrypto.Crypto>;
3+
export declare function getWebcrypto(): Promise<Crypto>;
64
export declare const obsoleteLineFoldingRegEx: RegExp;
75
/**
86
* RFC 9421 2.1 (3. Remove any obsolete line folding...) for HTTP/1.1
@@ -70,7 +68,7 @@ export declare function genSignInfo(parsed: ParsedAlgorithmIdentifier, defaults?
7068
* Generate algorithm for sign and verify from key algorithm and defaults,
7169
* because algorithm of ECDSA and ECDH does not have hash property.
7270
*/
73-
export declare function genAlgorithmForSignAndVerify(keyAlgorithm: webcrypto.KeyAlgorithm, hashAlgorithm: SignatureHashAlgorithmUpperSnake): {
71+
export declare function genAlgorithmForSignAndVerify(keyAlgorithm: KeyAlgorithm, hashAlgorithm: SignatureHashAlgorithmUpperSnake): {
7472
name: string;
7573
hash: SignatureHashAlgorithmUpperSnake;
7674
};

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@misskey-dev/node-http-message-signatures",
3-
"version": "0.0.5",
3+
"version": "0.0.6",
44
"description": "",
55
"type": "module",
66
"engines": {

src/digest/utils.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import { webcrypto as crypto } from 'node:crypto';
21
import { DigestHashAlgorithm } from '../types';
32
import { encodeArrayBufferToBase64, getWebcrypto } from '../utils';
43

5-
export type DigestSource = crypto.BufferSource | string;
4+
export type DigestSource = BufferSource | string;
65

76
export async function createBase64Digest(body: DigestSource, hash: DigestHashAlgorithm): Promise<string>;
87
export async function createBase64Digest<Ks extends DigestHashAlgorithm[]>(body: DigestSource, hash: Ks): Promise<Map<Ks[number], string>>;

src/draft/sign.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import type { webcrypto } from 'node:crypto';
21
import type { PrivateKey, RequestLike, SignatureHashAlgorithmUpperSnake } from '../types.js';
32
import { type SignInfoDefaults, defaultSignInfoDefaults, encodeArrayBufferToBase64, getWebcrypto, normalizeHeaders, genAlgorithmForSignAndVerify } from '../utils.js';
43
import { importPrivateKey } from '../pem/pkcs8.js';
@@ -79,7 +78,7 @@ export function genDraftSigningString(
7978
return results.join('\n');
8079
}
8180

82-
export async function genDraftSignature(privateKey: webcrypto.CryptoKey, signingString: string, defaults: SignInfoDefaults = defaultSignInfoDefaults) {
81+
export async function genDraftSignature(privateKey: CryptoKey, signingString: string, defaults: SignInfoDefaults = defaultSignInfoDefaults) {
8382
const signatureAB = await (await getWebcrypto()).subtle.sign(genAlgorithmForSignAndVerify(privateKey.algorithm, defaults.hash), privateKey, new TextEncoder().encode(signingString));
8483
return encodeArrayBufferToBase64(signatureAB);
8584
}

src/draft/verify.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { ParsedDraftSignature } from "../types";
22
import { parseAndImportPublicKey } from "../pem/spki";
33
import { parseSignInfo } from "../shared/verify";
44
import { decodeBase64ToUint8Array, getWebcrypto } from "../utils";
5-
import type { webcrypto } from "node:crypto";
65

76
/**
87
* @deprecated Use `parseSignInfo`
@@ -17,7 +16,7 @@ export const genSignInfoDraft = parseSignInfo;
1716
*/
1817
export async function verifyDraftSignature(
1918
parsed: ParsedDraftSignature['value'],
20-
key: string | webcrypto.CryptoKey,
19+
key: string | CryptoKey,
2120
errorLogger?: (message: any) => any
2221
): Promise<boolean> {
2322
try {

src/keypair.ts

+8-9
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,24 @@
33
* SPDX-License-Identifier: MIT
44
*/
55

6-
import { webcrypto } from 'node:crypto';
76
import { encodeArrayBufferToBase64, getWebcrypto, splitPer64Chars } from './utils';
8-
import { ECNamedCurve } from './types';
7+
import type { ECNamedCurve } from './types';
98

10-
export async function exportPublicKeyPem(key: webcrypto.CryptoKey) {
9+
export async function exportPublicKeyPem(key: CryptoKey) {
1110
const ab = await (await getWebcrypto()).subtle.exportKey('spki', key);
1211
return '-----BEGIN PUBLIC KEY-----\n' +
1312
splitPer64Chars(encodeArrayBufferToBase64(ab)).join('\n') +
1413
'\n-----END PUBLIC KEY-----\n';
1514
}
1615

17-
export async function exportPrivateKeyPem(key: webcrypto.CryptoKey) {
16+
export async function exportPrivateKeyPem(key: CryptoKey) {
1817
const ab = await (await getWebcrypto()).subtle.exportKey('pkcs8', key);
1918
return '-----BEGIN PRIVATE KEY-----\n' +
2019
splitPer64Chars(encodeArrayBufferToBase64(ab)).join('\n') +
2120
'\n-----END PRIVATE KEY-----\n';
2221
}
2322

24-
export async function genRsaKeyPair(modulusLength = 4096, keyUsage: webcrypto.KeyUsage[] = ['sign', 'verify']) {
23+
export async function genRsaKeyPair(modulusLength = 4096, keyUsage: KeyUsage[] = ['sign', 'verify']) {
2524
const keyPair = await (await getWebcrypto()).subtle.generateKey(
2625
{
2726
name: 'RSASSA-PKCS1-v1_5',
@@ -38,7 +37,7 @@ export async function genRsaKeyPair(modulusLength = 4096, keyUsage: webcrypto.Ke
3837
};
3938
}
4039

41-
export async function genEcKeyPair(namedCurve: ECNamedCurve = 'P-256', keyUsage: webcrypto.KeyUsage[] = ['sign', 'verify']) {
40+
export async function genEcKeyPair(namedCurve: ECNamedCurve = 'P-256', keyUsage: KeyUsage[] = ['sign', 'verify']) {
4241
const keyPair = await (await getWebcrypto()).subtle.generateKey(
4342
{
4443
name: 'ECDSA',
@@ -53,14 +52,14 @@ export async function genEcKeyPair(namedCurve: ECNamedCurve = 'P-256', keyUsage:
5352
};
5453
}
5554

56-
export async function genEd25519KeyPair(keyUsage: webcrypto.KeyUsage[] = ['sign', 'verify']) {
55+
export async function genEd25519KeyPair(keyUsage: KeyUsage[] = ['sign', 'verify']) {
5756
const keyPair = await (await getWebcrypto()).subtle.generateKey(
5857
{
5958
name: 'Ed25519',
6059
},
6160
true,
6261
keyUsage,
63-
) as webcrypto.CryptoKeyPair;
62+
) as CryptoKeyPair;
6463
return {
6564
publicKey: await exportPublicKeyPem(keyPair.publicKey),
6665
privateKey: await exportPrivateKeyPem(keyPair.privateKey)
@@ -74,7 +73,7 @@ export async function genEd448KeyPair(keyUsage) {
7473
},
7574
true,
7675
keyUsage,
77-
) as webcrypto.CryptoKeyPair;
76+
) as CryptoKeyPair;
7877
return {
7978
publicKey: await exportPublicKeyPem(keyPair.publicKey),
8079
privateKey: await exportPrivateKeyPem(keyPair.privateKey)

src/pem/pkcs8.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import ASN1 from '@lapo/asn1js';
22
import { ParsedAlgorithmIdentifierBase, asn1ToArrayBuffer, decodePem, parseAlgorithmIdentifier } from './spki.js';
33
import { SignInfoDefaults, defaultSignInfoDefaults, genSignInfo, getWebcrypto } from '../utils.js';
4-
import type { webcrypto } from 'node:crypto';
54

65
export class Pkcs8ParseError extends Error {
76
constructor(message: string) { super(message); }
@@ -58,7 +57,7 @@ export function parsePkcs8(input: ASN1.StreamOrBinary): ParsedPkcs8 {
5857
* @param defaults
5958
* @returns CryptoKey
6059
*/
61-
export async function importPrivateKey(key: ASN1.StreamOrBinary, keyUsages: webcrypto.KeyUsage[] = ['sign'], defaults: SignInfoDefaults = defaultSignInfoDefaults, extractable = false) {
60+
export async function importPrivateKey(key: ASN1.StreamOrBinary, keyUsages: KeyUsage[] = ['sign'], defaults: SignInfoDefaults = defaultSignInfoDefaults, extractable = false) {
6261
const parsedPrivateKey = parsePkcs8(key);
6362
const importParams = genSignInfo(parsedPrivateKey, defaults);
6463
return await (await getWebcrypto()).subtle.importKey('pkcs8', parsedPrivateKey.der, importParams, extractable, keyUsages);

src/pem/spki.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import Hex from '@lapo/asn1js/hex.js';
33
import Base64 from '@lapo/asn1js/base64.js';
44
import { genSpkiFromPkcs1, parsePkcs1 } from './pkcs1';
55
import { ECNamedCurve, KeyAlgorithmName } from '../types';
6-
import type { webcrypto } from 'node:crypto';
76
import { SignInfoDefaults, defaultSignInfoDefaults, genAlgorithmForSignAndVerify, genSignInfo, getWebcrypto } from '../utils';
87
import { parseSignInfo } from '../shared/verify';
98

@@ -201,7 +200,7 @@ export function parsePublicKey(input: ASN1.StreamOrBinary): SpkiParsedAlgorithmI
201200
* @param defaults
202201
* @returns CryptoKey
203202
*/
204-
export async function importPublicKey(key: ASN1.StreamOrBinary, keyUsages: webcrypto.KeyUsage[] = ['verify'], defaults: SignInfoDefaults = defaultSignInfoDefaults, extractable = false) {
203+
export async function importPublicKey(key: ASN1.StreamOrBinary, keyUsages: KeyUsage[] = ['verify'], defaults: SignInfoDefaults = defaultSignInfoDefaults, extractable = false) {
205204
const parsedPublicKey = parsePublicKey(key);
206205
return await (await getWebcrypto()).subtle.importKey('spki', parsedPublicKey.der, genSignInfo(parsedPublicKey, defaults), extractable, keyUsages);
207206
}
@@ -215,8 +214,8 @@ export async function importPublicKey(key: ASN1.StreamOrBinary, keyUsages: webcr
215214
* @returns
216215
*/
217216
export async function parseAndImportPublicKey(
218-
source: ASN1.StreamOrBinary | webcrypto.CryptoKey,
219-
keyUsages: webcrypto.KeyUsage[] = ['verify'],
217+
source: ASN1.StreamOrBinary | CryptoKey,
218+
keyUsages: KeyUsage[] = ['verify'],
220219
providedAlgorithm?: string,
221220
errorLogger?: ((message: any) => any)
222221
) {

src/shared/verify.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import type { ECNamedCurve, SignInfo } from '../types.js';
66
import { ParsedAlgorithmIdentifier, getNistCurveFromOid, getPublicKeyAlgorithmNameFromOid } from '../pem/spki.js';
77
import type { SignatureHashAlgorithmUpperSnake } from '../types.js';
88
import { keyHashAlgosForDraftDecoding } from '../draft/const.js';
9-
import type { webcrypto } from 'node:crypto';
109

1110
export class KeyHashValidationError extends Error {
1211
constructor(message: string) { super(message); }
@@ -22,7 +21,7 @@ function buildErrorMessage(providedAlgorithm: string, real: string) {
2221
* @param algorithm ヘッダーのアルゴリズム
2322
* @param publicKey 実際の公開鍵
2423
*/
25-
export function parseSignInfo(algorithm: string | undefined, real: ParsedAlgorithmIdentifier | webcrypto.CryptoKey['algorithm'], errorLogger?: ((message: any) => any)): SignInfo {
24+
export function parseSignInfo(algorithm: string | undefined, real: ParsedAlgorithmIdentifier | CryptoKey['algorithm'], errorLogger?: ((message: any) => any)): SignInfo {
2625
algorithm = algorithm?.toLowerCase();
2726
const realKeyType = typeof real === 'string' ? real : 'algorithm' in real ? getPublicKeyAlgorithmNameFromOid(real.algorithm) : real.name;
2827

@@ -59,7 +58,7 @@ export function parseSignInfo(algorithm: string | undefined, real: ParsedAlgorit
5958
}
6059

6160
if (realKeyType === 'EC') {
62-
const namedCurve = 'parameter' in real ? getNistCurveFromOid(real.parameter) : (real as webcrypto.EcKeyGenParams).namedCurve as ECNamedCurve;
61+
const namedCurve = 'parameter' in real ? getNistCurveFromOid(real.parameter) : (real as EcKeyGenParams).namedCurve as ECNamedCurve;
6362
if (!namedCurve) throw new KeyHashValidationError('could not get namedCurve');
6463

6564
if (

src/types.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type { IncomingMessage, ServerResponse } from "http";
22
import type { Http2ServerRequest, Http2ServerResponse } from "http2";
3-
import type { webcrypto } from "node:crypto";
43

54
export type HeadersValueLike = string | number | null | undefined;
65
export type HeadersValueLikeArrayable = HeadersValueLike | HeadersValueLike[];
@@ -84,7 +83,7 @@ export type PrivateKeyWithPem = {
8483
keyId: string;
8584
};
8685
export type PrivateKeyWithCryptoKey = {
87-
privateKey: webcrypto.CryptoKey;
86+
privateKey: CryptoKey;
8887
keyId: string;
8988
};
9089
export type PrivateKey = PrivateKeyWithPem | PrivateKeyWithCryptoKey;

src/utils.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type { MapLikeObj, SignInfo, SignatureHashAlgorithmUpperSnake, HeadersLike, HeadersValueLike, HeadersValueLikeArrayable } from './types.js';
22
import { ParsedAlgorithmIdentifier, getNistCurveFromOid, getPublicKeyAlgorithmNameFromOid } from './pem/spki.js';
3-
import type { webcrypto } from 'node:crypto';
43

54
export async function getWebcrypto() {
65
return globalThis.crypto ?? (await import('node:crypto')).webcrypto;
@@ -205,7 +204,7 @@ export function genSignInfo(
205204
* Generate algorithm for sign and verify from key algorithm and defaults,
206205
* because algorithm of ECDSA and ECDH does not have hash property.
207206
*/
208-
export function genAlgorithmForSignAndVerify(keyAlgorithm: webcrypto.KeyAlgorithm, hashAlgorithm: SignatureHashAlgorithmUpperSnake) {
207+
export function genAlgorithmForSignAndVerify(keyAlgorithm: KeyAlgorithm, hashAlgorithm: SignatureHashAlgorithmUpperSnake) {
209208
return {
210209
hash: hashAlgorithm,
211210
...keyAlgorithm,

tsconfig.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
"./src/@types"
3434
],
3535
"lib": [
36-
"esnext"
36+
"esnext",
37+
"dom"
3738
]
3839
},
3940
"compileOnSave": false,

0 commit comments

Comments
 (0)