SubtleCrypto deriveBits for PBKDF2
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- c, javascript
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- C
- Estrellas
- 295
- Forks
- 62
- Merge medio
- 1 d 17 h
- PR fusionados (30 d)
- 16
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bytecodealliance/StarlingMonkey
-
CryptoKey class should use Finalizable class policyPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
bytecodealliance/StarlingMonkey#343 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
bytecodealliance/StarlingMonkey#344 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
bytecodealliance/StarlingMonkey#339 ·
Los mantenedores suelen responder en 1 día
-
The forgiving decoder implementation is ignoring padding and whitespaces in crypto-algorithm.cppAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 52/100
bytecodealliance/StarlingMonkey#338 ·
Los mantenedores suelen responder en 1 día
-
importing keys via jwk formatAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
bytecodealliance/StarlingMonkey#322 · 2 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de bytecodealliance/StarlingMonkey
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
pocoproject/poco#5626 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 78/100
VMAFx/vmafx#3260 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
FujiNetWIFI/fujinet-lib#272 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
facebookincubator/muse-gadget-sdk#301 ·
Los mantenedores suelen responder en 2 días
-
luaebpf: the by-example page's intro names two outcomes of a lowering and omits the stop with the default verdictPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abiertodocumentation severity: low
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
luainkernel/lunatik#2231 ·
Los mantenedores suelen responder en 1 día