Poll-based encrypt/decrypt/sign API support in asynchronous and synchronous call
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- rust
- Área
- cryptography
Línea de trabajo
Comienza con el trait crypto/cipher/MessageDecrypter mostrado en el issue y revisa la documentación relacionada de la API crypto de rustls. Rastrea cada punto de llamada de encrypt/decrypt para determinar el contrato de poll para los llamadores síncronos y asíncronos, y verifica después que ambos modos de uso estén cubiertos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Checklist
- I've searched the issue tracker for similar requests
https://github.com/rustls/rustls/issues/850#issuecomment-1544457213
https://github.com/rustls/rustls/issues/341
https://github.com/rustls/rustls/pull/1648
https://github.com/rustls/rustls/issues/1808
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
https://docs.rs/rustls/latest/rustls/crypto/cipher/trait.MessageDecrypter.html
convert crypto api to poll based
from
pub trait MessageDecrypter: Send + Sync {
/// Decrypt the given TLS message `msg`, using the sequence number
/// `seq` which can be used to derive a unique [`Nonce`].
fn decrypt<'a>(
&mut self,
msg: InboundOpaqueMessage<'a>,
seq: u64,
) -> Result<InboundPlainMessage<'a>, Error>;
}
to
pub trait MessageDecrypter: Send + Sync {
/// Decrypt the given TLS message `msg`, using the sequence number
/// `seq` which can be used to derive a unique [`Nonce`].
fn decrypt<'a>(
&mut self,
cx: &mut Context<'a>,
msg: InboundOpaqueMessage<'a>,
seq: u64,
) -> Result<InboundPlainMessage<'a>, Error>;
}
so that we can call tokio#poll_read to make encrypt/decrypt async
every encrypt/decrypt should call through trait, so we can hack it
Additional context
rustls only support poll method. user decide whether sync or async. If sync, just do and return Poll::Ready
- Lenguaje dominante
- Rust
- Estrellas
- 7.7k
- Forks
- 947
- Merge medio
- 3 d 11 h
- PR fusionados (30 d)
- 46
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
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 rustls/rustls
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 70/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 22/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 12/100
rustls/rustls#3409 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
rustls/rustls#3373 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de rustls/rustls
Issues similares
-
ライブラリを追加Abiertopriority middle
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
KATO-Hiro/AtCoderClans#13015 ·
Los mantenedores suelen responder en 1 día
-
needs-review
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
UCS-Care-Group/mailcraft#1429 ·
Los mantenedores suelen responder en 1 día
-
priority: medium ready
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
TusanHomichi/PSIV#646 ·
Los mantenedores suelen responder en 1 día
-
area:tui bug P1
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
agent-of-empires/agent-of-empires#5705 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug lab rust-mcp
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día