SubtleCrypto deriveBits for PBKDF2
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- c, javascript
Direzione di ricerca
Start by reading the existing crypto.subtle.importKey implementation and the proposed CryptoAlgorithmDeriveBits base class to understand how crypto operations are wired through the runtime. Implement the scoped PBKDF2 import and deriveBits support, including the specified PRFs and length coercion; done means PBKDF2 keys can be used with deriveBits and deriveKey usages are accepted as stated.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
crypto.subtle.deriveBits with PBKDF2 is needed by Fastly Compute apps that do key derivation for cookie/token schemes. A concrete example: the HUMAN Security (PerimeterX) _px3 cookie flow requires PBKDF2-HMAC-SHA256 (hundreds to thousands of iterations, 384 derived bits split into a 32-byte AES-256 key and 16-byte IV) followed by AES-256-CBC decryption. Without native PBKDF2, a JS implementation costs roughly ~45 ms per request versus ~1 ms natively, which is significant inside a Fastly Compute request handler.
Scope for the first increment:
crypto.subtle.importKey("raw", keyData, "PBKDF2", extractable, usages)producing a secretCryptoKeyusable forderiveBits/deriveKey(usages restricted to those two).crypto.subtle.deriveBits(algorithm, baseKey, length)wired through aCryptoAlgorithmDeriveBitsbase class, with the PBKDF2 operation implemented via OpenSSLPKCS5_PBKDF2_HMACand the optional[EnforceRange] unsigned longlength coercion semantics from the spec.- SHA-1 / SHA-256 / SHA-384 / SHA-512 PRFs.
Follow-on work (not part of the first PR): deriveKey for PBKDF2, AES-CBC encrypt/decrypt to complete the _px3 flow, and the remaining HKDF/ECDH deriveBits algorithms.
- Lingua principale
- C
- Stelle
- 293
- Fork
- 61
- Merge medio
- 1g 6h
- PR unite (30g)
- 12
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bytecodealliance/StarlingMonkey
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
bytecodealliance/StarlingMonkey#343 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
bytecodealliance/StarlingMonkey#344 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 52/100
bytecodealliance/StarlingMonkey#339 ·
I maintainer di solito rispondono entro 1 giorno
-
The forgiving decoder implementation is ignoring padding and whitespaces in crypto-algorithm.cppAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 52/100
bytecodealliance/StarlingMonkey#338 ·
I maintainer di solito rispondono entro 1 giorno
-
FinalizationRegistry callbacks never run: no host cleanup callback is setForse già presa @veeshi l’ha presa 6 giorni fa. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
bytecodealliance/StarlingMonkey#327 · 5 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di bytecodealliance/StarlingMonkey
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
ChefKissInc/Inferno#319 ·
-
llvm-tools
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
llvm/llvm-project#235522 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
priority:medium type:chore
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
crazy-goat/php-fpm-ng#1041 ·
I maintainer di solito rispondono entro 1 giorno