Skip to content

Commit 6649179

Browse files
committed
0.0.5
build
1 parent 07574af commit 6649179

File tree

6 files changed

+14
-14
lines changed

6 files changed

+14
-14
lines changed

dist/index.cjs

+5-5
Original file line numberDiff line numberDiff line change
@@ -363,9 +363,9 @@ function parsePublicKey(input) {
363363
}
364364
}
365365
}
366-
async function importPublicKey(key, keyUsages = ["verify"], defaults = defaultSignInfoDefaults) {
366+
async function importPublicKey(key, keyUsages = ["verify"], defaults = defaultSignInfoDefaults, extractable = false) {
367367
const parsedPublicKey = parsePublicKey(key);
368-
return await (await getWebcrypto()).subtle.importKey("spki", parsedPublicKey.der, genSignInfo(parsedPublicKey, defaults), false, keyUsages);
368+
return await (await getWebcrypto()).subtle.importKey("spki", parsedPublicKey.der, genSignInfo(parsedPublicKey, defaults), extractable, keyUsages);
369369
}
370370
async function parseAndImportPublicKey(source, keyUsages = ["verify"], providedAlgorithm, errorLogger) {
371371
if (typeof source === "string" || typeof source === "object" && !("type" in source) && (source instanceof Uint8Array || source instanceof ArrayBuffer || Array.isArray(source) || "enc" in source)) {
@@ -514,10 +514,10 @@ function parsePkcs8(input) {
514514
attributesRaw: attributes ? asn1ToArrayBuffer(attributes) : null
515515
};
516516
}
517-
async function importPrivateKey(key, keyUsages = ["sign"], defaults = defaultSignInfoDefaults) {
517+
async function importPrivateKey(key, keyUsages = ["sign"], defaults = defaultSignInfoDefaults, extractable = false) {
518518
const parsedPrivateKey = parsePkcs8(key);
519519
const importParams = genSignInfo(parsedPrivateKey, defaults);
520-
return await (await getWebcrypto()).subtle.importKey("pkcs8", parsedPrivateKey.der, importParams, true, keyUsages);
520+
return await (await getWebcrypto()).subtle.importKey("pkcs8", parsedPrivateKey.der, importParams, extractable, keyUsages);
521521
}
522522

523523
// src/draft/sign.ts
@@ -575,7 +575,7 @@ function genDraftSigningString(request, includeHeaders, additional) {
575575
return results.join("\n");
576576
}
577577
async function genDraftSignature(privateKey, signingString, defaults = defaultSignInfoDefaults) {
578-
const signatureAB = await (await getWebcrypto()).subtle.sign(genAlgorithmForSignAndVerify(privateKey.algorithm, defaults), privateKey, new TextEncoder().encode(signingString));
578+
const signatureAB = await (await getWebcrypto()).subtle.sign(genAlgorithmForSignAndVerify(privateKey.algorithm, defaults.hash), privateKey, new TextEncoder().encode(signingString));
579579
return encodeArrayBufferToBase64(signatureAB);
580580
}
581581
function genDraftSignatureHeader(includeHeaders, keyId, signature, algorithm) {

dist/index.mjs

+5-5
Original file line numberDiff line numberDiff line change
@@ -261,9 +261,9 @@ function parsePublicKey(input) {
261261
}
262262
}
263263
}
264-
async function importPublicKey(key, keyUsages = ["verify"], defaults = defaultSignInfoDefaults) {
264+
async function importPublicKey(key, keyUsages = ["verify"], defaults = defaultSignInfoDefaults, extractable = false) {
265265
const parsedPublicKey = parsePublicKey(key);
266-
return await (await getWebcrypto()).subtle.importKey("spki", parsedPublicKey.der, genSignInfo(parsedPublicKey, defaults), false, keyUsages);
266+
return await (await getWebcrypto()).subtle.importKey("spki", parsedPublicKey.der, genSignInfo(parsedPublicKey, defaults), extractable, keyUsages);
267267
}
268268
async function parseAndImportPublicKey(source, keyUsages = ["verify"], providedAlgorithm, errorLogger) {
269269
if (typeof source === "string" || typeof source === "object" && !("type" in source) && (source instanceof Uint8Array || source instanceof ArrayBuffer || Array.isArray(source) || "enc" in source)) {
@@ -412,10 +412,10 @@ function parsePkcs8(input) {
412412
attributesRaw: attributes ? asn1ToArrayBuffer(attributes) : null
413413
};
414414
}
415-
async function importPrivateKey(key, keyUsages = ["sign"], defaults = defaultSignInfoDefaults) {
415+
async function importPrivateKey(key, keyUsages = ["sign"], defaults = defaultSignInfoDefaults, extractable = false) {
416416
const parsedPrivateKey = parsePkcs8(key);
417417
const importParams = genSignInfo(parsedPrivateKey, defaults);
418-
return await (await getWebcrypto()).subtle.importKey("pkcs8", parsedPrivateKey.der, importParams, true, keyUsages);
418+
return await (await getWebcrypto()).subtle.importKey("pkcs8", parsedPrivateKey.der, importParams, extractable, keyUsages);
419419
}
420420

421421
// src/draft/sign.ts
@@ -473,7 +473,7 @@ function genDraftSigningString(request, includeHeaders, additional) {
473473
return results.join("\n");
474474
}
475475
async function genDraftSignature(privateKey, signingString, defaults = defaultSignInfoDefaults) {
476-
const signatureAB = await (await getWebcrypto()).subtle.sign(genAlgorithmForSignAndVerify(privateKey.algorithm, defaults), privateKey, new TextEncoder().encode(signingString));
476+
const signatureAB = await (await getWebcrypto()).subtle.sign(genAlgorithmForSignAndVerify(privateKey.algorithm, defaults.hash), privateKey, new TextEncoder().encode(signingString));
477477
return encodeArrayBufferToBase64(signatureAB);
478478
}
479479
function genDraftSignatureHeader(includeHeaders, keyId, signature, algorithm) {

dist/pem/pkcs8.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,4 @@ export declare function parsePkcs8(input: ASN1.StreamOrBinary): ParsedPkcs8;
3737
* @param defaults
3838
* @returns CryptoKey
3939
*/
40-
export declare function importPrivateKey(key: ASN1.StreamOrBinary, keyUsages?: webcrypto.KeyUsage[], defaults?: SignInfoDefaults): Promise<webcrypto.CryptoKey>;
40+
export declare function importPrivateKey(key: ASN1.StreamOrBinary, keyUsages?: webcrypto.KeyUsage[], defaults?: SignInfoDefaults, extractable?: boolean): Promise<webcrypto.CryptoKey>;

dist/pem/spki.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ export declare function parsePublicKey(input: ASN1.StreamOrBinary): SpkiParsedAl
101101
* @param defaults
102102
* @returns CryptoKey
103103
*/
104-
export declare function importPublicKey(key: ASN1.StreamOrBinary, keyUsages?: webcrypto.KeyUsage[], defaults?: SignInfoDefaults): Promise<webcrypto.CryptoKey>;
104+
export declare function importPublicKey(key: ASN1.StreamOrBinary, keyUsages?: webcrypto.KeyUsage[], defaults?: SignInfoDefaults, extractable?: boolean): Promise<webcrypto.CryptoKey>;
105105
/**
106106
* Prepare public key for verification
107107
* @param source PEM, DER or CryptoKey

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.4",
3+
"version": "0.0.5",
44
"description": "",
55
"type": "module",
66
"engines": {

test/performance/draft.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { signAsDraftToRequest, parseRequestSignature, genRFC3230DigestHeader, ve
22
import { rsa4096, prime256v1, ed25519, ed448 } from '../keys.js';
33
import httpSignature from '@peertube/http-signature';
44

5-
const TRYES = 1;
5+
const TRYES = 1600;
66

77
const getBasicOutgoingRequest = () => ({
88
headers: {

0 commit comments

Comments
 (0)