🔒 Support `SCRAM-*-PLUS` with channel binding
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- ruby
- Área
- authentication, security
Línea de trabajo
Empieza por Net::IMAP::SASL::ScramSHA256Authenticator y compáralo con la subclase ScramSHA256PlusAuthenticator propuesta. Sigue cómo ssl_server_socket.peer_cert podría proporcionar el certificado y, a continuación, identifica las pruebas de autenticación SASL o los puntos de entrada existentes que deben ampliarse. Se considera terminado cuando los autenticadores SCRAM-SHA-*-PLUS admitan el channel binding mediante el certificado del peer.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
To use channel binding and
SCRAM-SHA-256-PLUS, I just made the following subclass. Sharing in case helpful for a broader implementation of-PLUSauthenticators.class ScramSHA256PlusAuthenticator < Net::IMAP::SASL::ScramSHA256Authenticator def initialize(*args, **options) super(*args, **options) @ssl_cert = options[:ssl_cert] end def gs2_cb_flag "p=tls-server-end-point" end def cbind_input cert_algo_raw = @ssl_cert.signature_algorithm cert_algo = OpenSSL::Digest.new(cert_algo_raw).name # standardize e.g. sha256WithRSAEncryption to SHA256 sasl_algo = cert_algo == "MD5" || cert_algo == "SHA1" ? "SHA256" : cert_algo hash = OpenSSL::Digest.digest(sasl_algo, @ssl_cert.to_der) "#{gs2_header}#{hash}" end endThe
ssl_certoption toScramSHA256PlusAuthenticator.newshould be passedssl_server_socket.peer_cert.
Originally posted by @jawj in #54
- Lenguaje dominante
- Ruby
- Estrellas
- 121
- Forks
- 47
- Merge medio
- 19 h 25 min
- PR fusionados (30 d)
- 3
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 ruby/net-imap
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
-
bug
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
-
Cannot use FakeServerAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
Todos los issues de ruby/net-imap
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
Websockify heartbeat for vnc_containerPosiblemente ocupada @robinkar la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día
-
needs verification
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 7 días
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
akitaonrails/ai-book-2026#13 ·
-
Mend: dependency security vulnerability
Dificultad 2/5 1-3 horas Aptitud para principiantes 63/100
Los mantenedores suelen responder en 1 día