@pulse-compute/crypto 1.0.0-beta.4 → 1.0.0-beta.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -8
- package/as/digest-text.as.ts +34 -0
- package/as/pulse-hmac-as.ts +7 -1
- package/conformance/digest-text.json +38 -0
- package/conformance/hs256.json +85 -0
- package/dist/contracts.d.ts +34 -12
- package/dist/contracts.d.ts.map +1 -1
- package/dist/contracts.js +9 -3
- package/dist/contracts.js.map +1 -1
- package/dist/digest.d.ts +14 -0
- package/dist/digest.d.ts.map +1 -0
- package/dist/digest.js +17 -0
- package/dist/digest.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/rsa.d.ts +58 -0
- package/dist/internal/rsa.d.ts.map +1 -0
- package/dist/internal/rsa.js +185 -0
- package/dist/internal/rsa.js.map +1 -0
- package/dist/internal/verification.d.ts +3 -3
- package/dist/internal/verification.d.ts.map +1 -1
- package/dist/internal/verification.js +2 -2
- package/dist/internal/verification.js.map +1 -1
- package/guests/es256-rustcrypto/README.md +43 -0
- package/guests/es256-rustcrypto/build.cjs +297 -0
- package/guests/es256-rustcrypto/prebuilt/es256-verifier.unoptimized.wasm +0 -0
- package/guests/es256-rustcrypto/prebuilt/es256-verifier.wasm +0 -0
- package/guests/es256-rustcrypto/probe/.cargo/config.toml +18 -0
- package/guests/es256-rustcrypto/probe/Cargo.lock +238 -0
- package/guests/es256-rustcrypto/probe/Cargo.toml +26 -0
- package/guests/es256-rustcrypto/probe/README.md +35 -0
- package/guests/es256-rustcrypto/probe/rust-toolchain.toml +5 -0
- package/guests/es256-rustcrypto/probe/src/lib.rs +108 -0
- package/guests/es256-rustcrypto/pulse.guest-unit.json +119 -0
- package/guests/es256-rustcrypto/source/.cargo/config.toml +18 -0
- package/guests/es256-rustcrypto/source/Cargo.lock +265 -0
- package/guests/es256-rustcrypto/source/Cargo.toml +23 -0
- package/guests/es256-rustcrypto/source/README.md +26 -0
- package/guests/es256-rustcrypto/source/bearssl/LICENSE.txt +21 -0
- package/guests/es256-rustcrypto/source/bearssl/UPSTREAM.json +49 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl.h +170 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_aead.h +1059 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_block.h +2618 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_ec.h +883 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_hash.h +1346 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_hmac.h +241 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_kdf.h +185 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_pem.h +294 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_prf.h +150 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_rand.h +397 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_rsa.h +1366 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_ssl.h +4296 -0
- package/guests/es256-rustcrypto/source/bearssl/inc/bearssl_x509.h +1397 -0
- package/guests/es256-rustcrypto/source/bearssl/src/codec/ccopy.c +44 -0
- package/guests/es256-rustcrypto/source/bearssl/src/codec/dec32be.c +38 -0
- package/guests/es256-rustcrypto/source/bearssl/src/codec/enc32be.c +38 -0
- package/guests/es256-rustcrypto/source/bearssl/src/config.h +229 -0
- package/guests/es256-rustcrypto/source/bearssl/src/inner.h +2532 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_add.c +46 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_bitlen.c +44 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_decmod.c +124 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_decode.c +57 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_decred.c +103 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_encode.c +79 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_fmont.c +60 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_iszero.c +39 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_moddiv.c +488 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_modpow.c +65 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_modpow2.c +160 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_montmul.c +93 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_mulacc.c +61 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_muladd.c +157 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_ninv31.c +39 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_reduce.c +66 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_rshift.c +47 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_sub.c +46 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i31_tmont.c +36 -0
- package/guests/es256-rustcrypto/source/bearssl/src/int/i32_div32.c +56 -0
- package/guests/es256-rustcrypto/source/bearssl/src/rsa/rsa_i31_priv.c +203 -0
- package/guests/es256-rustcrypto/source/bearssl/src/rsa/rsa_i31_pub.c +106 -0
- package/guests/es256-rustcrypto/source/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +100 -0
- package/guests/es256-rustcrypto/source/build.rs +38 -0
- package/guests/es256-rustcrypto/source/freestanding/string.h +8 -0
- package/guests/es256-rustcrypto/source/rs256.c +103 -0
- package/guests/es256-rustcrypto/source/rust-toolchain.toml +5 -0
- package/guests/es256-rustcrypto/source/src/lib.rs +308 -0
- package/package.json +22 -4
- package/pulse.package.json +64 -0
- package/pulsewasm.compiler.cjs +89 -0
- package/pulsewasm.manifest.cjs +15 -0
- package/pulsewasm.native.cjs +79 -7
- package/src/provider.cjs +141 -2
- package/src/provider.d.cts +6 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { CryptoVerificationResult, RsaPublicKeyBytes, Rs256JoseVerifyInput } from '../contracts.js';
|
|
2
|
+
export declare const RSA_MODULUS_BYTES: readonly number[];
|
|
3
|
+
export declare const RSA_DATA_BYTES_MAXIMUM: 12288;
|
|
4
|
+
export declare function encodeRsaInteger(bytes: Uint8Array): string;
|
|
5
|
+
export declare function decodeRsaInteger(value: unknown, maximum: number): Uint8Array<ArrayBuffer>;
|
|
6
|
+
/** Normalized wire, independent of JWK policy: LE32(k), n[k], e[4], then
|
|
7
|
+
* d[k], p/q/dp/dq/qi[k/2] when private. Metadata is owned by JWT. */
|
|
8
|
+
export declare function rsaKeyBytes(components: Readonly<Record<string, unknown>>, privateKey?: boolean): Uint8Array<ArrayBuffer>;
|
|
9
|
+
export declare function rsaWireJwk(bytes: Uint8Array, privateKey?: boolean): Record<string, string>;
|
|
10
|
+
export declare function normalizeRsaPublicKey(value: Readonly<{
|
|
11
|
+
n: string;
|
|
12
|
+
e: string;
|
|
13
|
+
}>): {
|
|
14
|
+
ok: false;
|
|
15
|
+
result: CryptoVerificationResult;
|
|
16
|
+
} | {
|
|
17
|
+
ok: true;
|
|
18
|
+
key: {
|
|
19
|
+
type: "rsa-public-key-bytes";
|
|
20
|
+
bytes: Uint8Array<ArrayBuffer>;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export declare function normalizeRs256Request(value: unknown): {
|
|
24
|
+
ok: false;
|
|
25
|
+
result: CryptoVerificationResult;
|
|
26
|
+
} | {
|
|
27
|
+
ok: true;
|
|
28
|
+
request: {
|
|
29
|
+
algorithm: "RS256";
|
|
30
|
+
key: {
|
|
31
|
+
type: "rsa-public-key-bytes";
|
|
32
|
+
bytes: Uint8Array<ArrayBuffer>;
|
|
33
|
+
};
|
|
34
|
+
data: Uint8Array<ArrayBuffer>;
|
|
35
|
+
signature: Uint8Array<ArrayBuffer>;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
export declare function normalizeRs256JoseVerifyRequest(value: Rs256JoseVerifyInput): {
|
|
39
|
+
ok: false;
|
|
40
|
+
result: CryptoVerificationResult;
|
|
41
|
+
} | {
|
|
42
|
+
ok: true;
|
|
43
|
+
request: {
|
|
44
|
+
algorithm: "RS256";
|
|
45
|
+
key: {
|
|
46
|
+
type: "rsa-public-key-bytes";
|
|
47
|
+
bytes: Uint8Array<ArrayBuffer>;
|
|
48
|
+
};
|
|
49
|
+
data: Uint8Array<ArrayBuffer>;
|
|
50
|
+
signature: Uint8Array<ArrayBuffer>;
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
export declare function verifyRs256(request: {
|
|
54
|
+
key: RsaPublicKeyBytes;
|
|
55
|
+
data: Uint8Array<ArrayBuffer>;
|
|
56
|
+
signature: Uint8Array<ArrayBuffer>;
|
|
57
|
+
}): Promise<CryptoVerificationResult>;
|
|
58
|
+
//# sourceMappingURL=rsa.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsa.d.ts","sourceRoot":"","sources":["../../src/internal/rsa.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGzG,eAAO,MAAM,iBAAiB,EAA+C,SAAS,MAAM,EAAE,CAAC;AAC/F,eAAO,MAAM,sBAAsB,OAAuD,CAAC;AAG3F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAM1D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CASzF;AAED;qEACqE;AACrE,wBAAgB,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,UAAU,UAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,CAwBtH;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,UAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAcxF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;;YAjEwB,wBAAwB;;;;;;;EAuE9H;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO;;YAzEmD,wBAAwB;;;;;;;;;;;;EA4F9H;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,oBAAoB;;YA9F4B,wBAAwB;;;;;;;;;;;;EA2G9H;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE;IAAE,GAAG,EAAE,iBAAiB,CAAC;IAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAA;CAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAa3K"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { CRYPTO_RESOURCE_LIMITS } from '../contracts.js';
|
|
2
|
+
import { exactDataProperties, isOrdinaryObject, ownDataProperty, copyBytes } from './data.js';
|
|
3
|
+
export const RSA_MODULUS_BYTES = CRYPTO_RESOURCE_LIMITS.rs256ModulusBytes;
|
|
4
|
+
export const RSA_DATA_BYTES_MAXIMUM = CRYPTO_RESOURCE_LIMITS.rs256SigningInputBytesMaximum;
|
|
5
|
+
const fail = (status) => ({ ok: false, result: { status } });
|
|
6
|
+
export function encodeRsaInteger(bytes) {
|
|
7
|
+
let start = 0;
|
|
8
|
+
while (start + 1 < bytes.length && bytes[start] === 0)
|
|
9
|
+
start++;
|
|
10
|
+
let binary = '';
|
|
11
|
+
for (const byte of bytes.subarray(start))
|
|
12
|
+
binary += String.fromCharCode(byte);
|
|
13
|
+
return btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '');
|
|
14
|
+
}
|
|
15
|
+
export function decodeRsaInteger(value, maximum) {
|
|
16
|
+
if (typeof value !== 'string' || value.length > Math.ceil(maximum * 4 / 3)
|
|
17
|
+
|| !/^[A-Za-z0-9_-]+$/.test(value) || value.length % 4 === 1)
|
|
18
|
+
throw new TypeError('Invalid RSA integer.');
|
|
19
|
+
const bytes = Uint8Array.from(atob(value.replace(/-/g, '+').replace(/_/g, '/')
|
|
20
|
+
+ '='.repeat((4 - value.length % 4) % 4)), char => char.charCodeAt(0));
|
|
21
|
+
if (!bytes.length || bytes.length > maximum || bytes[0] === 0 || encodeRsaInteger(bytes) !== value) {
|
|
22
|
+
bytes.fill(0);
|
|
23
|
+
throw new TypeError('Invalid RSA integer.');
|
|
24
|
+
}
|
|
25
|
+
return bytes;
|
|
26
|
+
}
|
|
27
|
+
/** Normalized wire, independent of JWK policy: LE32(k), n[k], e[4], then
|
|
28
|
+
* d[k], p/q/dp/dq/qi[k/2] when private. Metadata is owned by JWT. */
|
|
29
|
+
export function rsaKeyBytes(components, privateKey = false) {
|
|
30
|
+
const decoded = [];
|
|
31
|
+
let output;
|
|
32
|
+
try {
|
|
33
|
+
const n = decodeRsaInteger(components.n, 512);
|
|
34
|
+
decoded.push(n);
|
|
35
|
+
const k = n.length;
|
|
36
|
+
if (!RSA_MODULUS_BYTES.includes(k) || n[0] < 128 || !(n[k - 1] & 1))
|
|
37
|
+
throw new TypeError();
|
|
38
|
+
const e = decodeRsaInteger(components.e, 4);
|
|
39
|
+
decoded.push(e);
|
|
40
|
+
let exponent = 0;
|
|
41
|
+
for (const byte of e)
|
|
42
|
+
exponent = exponent * 256 + byte;
|
|
43
|
+
if (exponent < 3 || exponent % 2 !== 1)
|
|
44
|
+
throw new TypeError();
|
|
45
|
+
output = new Uint8Array(privateKey ? 8 + k * 9 / 2 : 8 + k);
|
|
46
|
+
new DataView(output.buffer).setUint32(0, k, true);
|
|
47
|
+
output.set(n, 4);
|
|
48
|
+
output.set(e, 8 + k - e.length);
|
|
49
|
+
let offset = 8 + k;
|
|
50
|
+
if (privateKey)
|
|
51
|
+
for (const name of ['d', 'p', 'q', 'dp', 'dq', 'qi']) {
|
|
52
|
+
const width = name === 'd' ? k : k / 2;
|
|
53
|
+
const bytes = decodeRsaInteger(components[name], width);
|
|
54
|
+
decoded.push(bytes);
|
|
55
|
+
if ((name === 'p' || name === 'q') && (bytes.length !== width || bytes[0] < 128 || !(bytes[width - 1] & 1)))
|
|
56
|
+
throw new TypeError();
|
|
57
|
+
output.set(bytes, offset + width - bytes.length);
|
|
58
|
+
offset += width;
|
|
59
|
+
}
|
|
60
|
+
return output;
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
output?.fill(0);
|
|
64
|
+
throw new TypeError('Invalid RSA key components.');
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
for (const bytes of decoded)
|
|
68
|
+
bytes.fill(0);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
export function rsaWireJwk(bytes, privateKey = false) {
|
|
72
|
+
if (!(bytes instanceof Uint8Array) || bytes.length < 8)
|
|
73
|
+
throw new TypeError('Invalid RSA key.');
|
|
74
|
+
const k = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength).getUint32(0, true);
|
|
75
|
+
if (!RSA_MODULUS_BYTES.includes(k) || bytes.length !== (privateKey ? 8 + k * 9 / 2 : 8 + k)
|
|
76
|
+
|| bytes[4] < 128 || !(bytes[k + 3] & 1))
|
|
77
|
+
throw new TypeError('Invalid RSA key.');
|
|
78
|
+
const exponent = new DataView(bytes.buffer, bytes.byteOffset + 4 + k, 4).getUint32(0);
|
|
79
|
+
if (exponent < 3 || exponent % 2 !== 1)
|
|
80
|
+
throw new TypeError('Invalid RSA exponent.');
|
|
81
|
+
const jwk = { kty: 'RSA', n: encodeRsaInteger(bytes.subarray(4, 4 + k)), e: encodeRsaInteger(bytes.subarray(4 + k, 8 + k)) };
|
|
82
|
+
let offset = 8 + k;
|
|
83
|
+
if (privateKey)
|
|
84
|
+
for (const name of ['d', 'p', 'q', 'dp', 'dq', 'qi']) {
|
|
85
|
+
const width = name === 'd' ? k : k / 2;
|
|
86
|
+
jwk[name] = encodeRsaInteger(bytes.subarray(offset, offset + width));
|
|
87
|
+
offset += width;
|
|
88
|
+
}
|
|
89
|
+
return jwk;
|
|
90
|
+
}
|
|
91
|
+
export function normalizeRsaPublicKey(value) {
|
|
92
|
+
try {
|
|
93
|
+
if (!isOrdinaryObject(value) || !exactDataProperties(value, new Set(['n', 'e'])))
|
|
94
|
+
return fail('invalid-key');
|
|
95
|
+
const bytes = rsaKeyBytes({ n: ownDataProperty(value, 'n').value, e: ownDataProperty(value, 'e').value });
|
|
96
|
+
return { ok: true, key: { type: 'rsa-public-key-bytes', bytes } };
|
|
97
|
+
}
|
|
98
|
+
catch {
|
|
99
|
+
return fail('invalid-key');
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
export function normalizeRs256Request(value) {
|
|
103
|
+
try {
|
|
104
|
+
if (!isOrdinaryObject(value) || !exactDataProperties(value, new Set(['algorithm', 'key', 'data', 'signature']))
|
|
105
|
+
|| ownDataProperty(value, 'algorithm').value !== 'RS256')
|
|
106
|
+
return fail('invalid-input');
|
|
107
|
+
const key = ownDataProperty(value, 'key').value;
|
|
108
|
+
if (!isOrdinaryObject(key) || !exactDataProperties(key, new Set(['type', 'bytes']))
|
|
109
|
+
|| ownDataProperty(key, 'type').value !== 'rsa-public-key-bytes')
|
|
110
|
+
return fail('invalid-key');
|
|
111
|
+
const inputKey = ownDataProperty(key, 'bytes').value;
|
|
112
|
+
if (!(inputKey instanceof Uint8Array) || inputKey.length > 520)
|
|
113
|
+
return fail('invalid-key');
|
|
114
|
+
const bytes = copyBytes(inputKey);
|
|
115
|
+
if (!bytes || bytes.length > 520)
|
|
116
|
+
return fail('invalid-key');
|
|
117
|
+
try {
|
|
118
|
+
rsaWireJwk(bytes);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return fail('invalid-key');
|
|
122
|
+
}
|
|
123
|
+
const inputData = ownDataProperty(value, 'data').value, inputSignature = ownDataProperty(value, 'signature').value;
|
|
124
|
+
if (!(inputData instanceof Uint8Array) || inputData.length > RSA_DATA_BYTES_MAXIMUM
|
|
125
|
+
|| !(inputSignature instanceof Uint8Array) || inputSignature.length !== bytes.length - 8)
|
|
126
|
+
return fail('invalid-input');
|
|
127
|
+
const data = copyBytes(inputData), signature = copyBytes(inputSignature);
|
|
128
|
+
if (!data || data.length > RSA_DATA_BYTES_MAXIMUM || !signature || signature.length !== bytes.length - 8)
|
|
129
|
+
return fail('invalid-input');
|
|
130
|
+
return { ok: true, request: { algorithm: 'RS256', key: { type: 'rsa-public-key-bytes', bytes }, data, signature } };
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return fail('invalid-input');
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
export function normalizeRs256JoseVerifyRequest(value) {
|
|
137
|
+
try {
|
|
138
|
+
if (!isOrdinaryObject(value) || !exactDataProperties(value, new Set(['key', 'data', 'signature'])))
|
|
139
|
+
return fail('invalid-input');
|
|
140
|
+
const key = normalizeRsaPublicKey(ownDataProperty(value, 'key').value);
|
|
141
|
+
if (!key.ok)
|
|
142
|
+
return key;
|
|
143
|
+
const text = ownDataProperty(value, 'signature').value;
|
|
144
|
+
if (typeof text !== 'string' || text.length > 683 || !/^[A-Za-z0-9_-]+$/.test(text) || text.length % 4 === 1)
|
|
145
|
+
return fail('invalid-input');
|
|
146
|
+
// Signatures are fixed-width octet strings; leading zero bytes are valid.
|
|
147
|
+
const binary = atob(text.replace(/-/g, '+').replace(/_/g, '/') + '='.repeat((4 - text.length % 4) % 4));
|
|
148
|
+
if (btoa(binary).replace(/\+/g, '-').replace(/\//g, '_').replace(/=+$/, '') !== text)
|
|
149
|
+
return fail('invalid-input');
|
|
150
|
+
return normalizeRs256Request({ algorithm: 'RS256', key: key.key, data: ownDataProperty(value, 'data').value,
|
|
151
|
+
signature: Uint8Array.from(binary, char => char.charCodeAt(0)) });
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return fail('invalid-input');
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
export async function verifyRs256(request) {
|
|
158
|
+
let subtle;
|
|
159
|
+
try {
|
|
160
|
+
subtle = globalThis.crypto?.subtle;
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
return { status: 'realization-failure' };
|
|
164
|
+
}
|
|
165
|
+
if (!subtle)
|
|
166
|
+
return { status: 'realization-failure' };
|
|
167
|
+
let key;
|
|
168
|
+
try {
|
|
169
|
+
key = await subtle.importKey('jwk', rsaWireJwk(request.key.bytes), { name: 'RSASSA-PKCS1-v1_5', hash: 'SHA-256' }, false, ['verify']);
|
|
170
|
+
}
|
|
171
|
+
catch {
|
|
172
|
+
return { status: 'invalid-key' };
|
|
173
|
+
}
|
|
174
|
+
finally {
|
|
175
|
+
request.key.bytes.fill(0);
|
|
176
|
+
}
|
|
177
|
+
try {
|
|
178
|
+
const valid = await subtle.verify('RSASSA-PKCS1-v1_5', key, request.signature, request.data);
|
|
179
|
+
return { status: valid === true ? 'valid' : valid === false ? 'invalid-authenticator' : 'realization-failure' };
|
|
180
|
+
}
|
|
181
|
+
catch {
|
|
182
|
+
return { status: 'realization-failure' };
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=rsa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsa.js","sourceRoot":"","sources":["../../src/internal/rsa.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,10 +55,10 @@ export declare function redactMacVerifyRequest(request: MacVerifyRequest | Norma
|
|
|
55
55
|
tag: '[redacted]';
|
|
56
56
|
}>;
|
|
57
57
|
export declare function redactSignatureVerifyRequest(request: SignatureVerifyRequest | NormalizedSignatureVerifyRequest): Readonly<{
|
|
58
|
-
algorithm: 'ES256';
|
|
58
|
+
algorithm: 'ES256' | 'RS256';
|
|
59
59
|
key: Readonly<{
|
|
60
|
-
type: 'p256-public-key-bytes';
|
|
61
|
-
compatibleAlgorithms: readonly
|
|
60
|
+
type: 'p256-public-key-bytes' | 'rsa-public-key-bytes';
|
|
61
|
+
compatibleAlgorithms: readonly ('ES256' | 'RS256')[];
|
|
62
62
|
identity: '[redacted]';
|
|
63
63
|
}>;
|
|
64
64
|
data: '[redacted]';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/internal/verification.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../src/internal/verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,iBAAiB,CAAC;AA6BzB,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;QAChC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;CACvC;AAED,MAAM,MAAM,6BAA6B,GACrC;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,0BAA0B,CAAC;CAC9C,GACD;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;CAC3C,CAAC;AAEN,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;QACvC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;KACzC,CAAC;IACF,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,mCAAmC,GAC3C;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,gCAAgC,CAAC;CACpD,GACD;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;CAC3C,CAAC;AAEN,MAAM,MAAM,0BAA0B,GAClC;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,gCAAgC,CAAC,KAAK,CAAC,CAAC;CACvD,GACD;IACE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,wBAAwB,CAAC;CAC3C,CAAC;AAEN,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,wBAAwB,GAC/B,wBAAwB,CAE1B;AAmFD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,6BAA6B,CAgD/B;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,OAAO,GACb,mCAAmC,CA6CrC;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,oBAAoB,GAC1B,mCAAmC,CAqCrC;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,wBAAwB,GAC9B,0BAA0B,CAmC5B;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,wBAAwB,CAY1B;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,GAAG,0BAA0B,GACrD,QAAQ,CAAC;IACV,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,QAAQ,CAAC;QACZ,IAAI,EAAE,gBAAgB,CAAC;QACvB,oBAAoB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QACzC,QAAQ,EAAE,YAAY,CAAC;KACxB,CAAC,CAAC;IACH,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,YAAY,CAAC;CACnB,CAAC,CAWD;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,sBAAsB,GAAG,gCAAgC,GACjE,QAAQ,CAAC;IACV,SAAS,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7B,GAAG,EAAE,QAAQ,CAAC;QACZ,IAAI,EAAE,uBAAuB,GAAG,sBAAsB,CAAC;QACvD,oBAAoB,EAAE,SAAS,CAAC,OAAO,GAAG,OAAO,CAAC,EAAE,CAAC;QACrD,QAAQ,EAAE,YAAY,CAAC;KACxB,CAAC,CAAC;IACH,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,YAAY,CAAC;CACzB,CAAC,CAWD"}
|
|
@@ -262,8 +262,8 @@ export function redactSignatureVerifyRequest(request) {
|
|
|
262
262
|
return Object.freeze({
|
|
263
263
|
algorithm: request.algorithm,
|
|
264
264
|
key: Object.freeze({
|
|
265
|
-
type:
|
|
266
|
-
compatibleAlgorithms: Object.freeze([
|
|
265
|
+
type: request.key.type,
|
|
266
|
+
compatibleAlgorithms: Object.freeze([request.algorithm]),
|
|
267
267
|
identity: '[redacted]',
|
|
268
268
|
}),
|
|
269
269
|
data: '[redacted]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/internal/verification.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../src/internal/verification.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Pulse first-party ES256/RS256 guest
|
|
2
|
+
|
|
3
|
+
The historical directory, unit id and module name are retained. The current
|
|
4
|
+
ABI is `pulse.crypto.es256-rs256.verify-and-sign.v3`; it exports separate
|
|
5
|
+
ES256 and RS256 signing and verification functions in one trusted unit.
|
|
6
|
+
Application builds use only the pinned prebuilt and never run a C/Rust build.
|
|
7
|
+
|
|
8
|
+
ES256 uses the locked RustCrypto dependencies. RS256 uses the unmodified
|
|
9
|
+
BearSSL 0.6 i31 source subset in `source/bearssl`, with an MIT license and an
|
|
10
|
+
`UPSTREAM.json` archive/file hash inventory. Pulse's `rs256.c` is bounded ABI,
|
|
11
|
+
key-consistency and exact PKCS#1 encoding glue; all multiprecision arithmetic
|
|
12
|
+
comes from BearSSL. RSA supports balanced two-prime 2048/3072/4096-bit keys,
|
|
13
|
+
odd 32-bit public exponents, 12288-byte signing inputs and modulus-width
|
|
14
|
+
signatures. It checks all private CRT relations and publicly verifies each
|
|
15
|
+
signature before releasing output. It does not test primality or generate keys.
|
|
16
|
+
|
|
17
|
+
[BearSSL i31's constant-time design](https://www.bearssl.org/constanttime.html) replaces a need for RSA blinding/entropy.
|
|
18
|
+
Its assumptions include constant-time multiplication and suitable compiler,
|
|
19
|
+
Wasm engine and CPU behavior. No formal cross-engine timing claim is made.
|
|
20
|
+
The RustCrypto RSA crate was not selected: [its upstream README](https://github.com/RustCrypto/RSA#%EF%B8%8Fsecurity-warning) warns about
|
|
21
|
+
Marvin timing attacks. Private key validation on the JavaScript Web Crypto
|
|
22
|
+
path uses BigInt and carries no constant-time guarantee. See the canonical
|
|
23
|
+
Crypto guide for the full execution and erasure boundaries.
|
|
24
|
+
|
|
25
|
+
Maintainer reconstruction requires the manifest-pinned Rust/Cargo, wasm32v1-none,
|
|
26
|
+
Binaryen, and Zig **0.13.0**. Set `PULSE_RSA_ZIG` to the official Zig executable;
|
|
27
|
+
then run `node build.cjs --write` or `node build.cjs --check`. Both builds run
|
|
28
|
+
twice and compare raw and optimized bytes. The official Linux x86_64 Zig
|
|
29
|
+
archive SHA-256 is `d45312e61ebcc48032b77bc4cf7fd6915c11fa16e4aad116b66c9468211230ea`.
|
|
30
|
+
The guest build script verifies the version before compiling freestanding C
|
|
31
|
+
with MVP features, no libc, no allocation, and no host entropy imports.
|
|
32
|
+
|
|
33
|
+
The prebuilt has one fixed, unshared 32-page memory import, no start section,
|
|
34
|
+
no memory growth and no host function imports. The 64 KiB stack and 16640-byte
|
|
35
|
+
frame are caller-cleared on return. The Node wrapper also clears on traps;
|
|
36
|
+
Fastly Native traps abort before in-Wasm cleanup. RSA uses algorithm code 2 of the v2
|
|
37
|
+
frame envelope; ES256 retains code 1 and its original lengths. Shared memory
|
|
38
|
+
layout and exact instruction/static-data inventories are pinned by the linker.
|
|
39
|
+
|
|
40
|
+
The G0 source-decision reference in the manifest is historical ES256 provenance,
|
|
41
|
+
not an RS256 security attestation. Current proof tasks are `crypto-rs256`,
|
|
42
|
+
`jwt-rs256`, `crypto-es256-signing`, and `jwt-es256-signing`; historical seals
|
|
43
|
+
do not attest the changed binary.
|