Harden dynamic HTTP and compiler boundaries
This commit is contained in:
+1
-1
@@ -752,7 +752,7 @@ asymmetric operations. The initial allowlist supports `operation=key_generate`
|
||||
and `operation=jwt_sign` with `algorithm=ES256`. Key generation returns P-256
|
||||
public/private JWKs plus the RFC 7638 thumbprint (`kid`). JWT signing accepts only
|
||||
a consistent P-256 private JWK, forces `alg=ES256`, and emits a compact JWT with
|
||||
a 64-byte JOSE signature. Unknown operations and algorithms fail closed.
|
||||
a 64-byte JOSE signature. It also supports `cbor_decode`, `cose_es256_parse`, and `es256_verify` with `algorithm=ES256`: inputs are canonical unpadded base64url fields; requests are capped at 32 KiB, while CBOR input is definite-length only and capped at 16 KiB decoded (21,846 base64url characters), 256 nodes, and depth 16; it rejects duplicate keys and trailing bytes, and returns an explicit typed tree (`unsigned`, `negative`, `bytes`, `text`, `array`, `map`) rather than DValue-coerced map keys. COSE accepts only EC2/-7/P-256 with exact 32-byte coordinates and an OpenSSL-valid point. Verification accepts only complete canonical DER ECDSA over `message_base64url` and returns `valid`; malformed material fails closed. V1 has no attestation, Ed25519, or RS256. Unknown operations and algorithms fail closed.
|
||||
|
||||
Existing typed digest, HMAC, password, randomness, and constant-time comparison
|
||||
functions remain separate. `crypto_operation()` exposes no raw signing, arbitrary
|
||||
|
||||
Reference in New Issue
Block a user