🔒 Support `SCRAM-*-PLUS` with channel binding
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 38/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- ruby
調査の方向性
Net::IMAP::SASL::ScramSHA256Authenticator から始め、提案されている ScramSHA256PlusAuthenticator サブクラスと比較します。ssl_server_socket.peer_cert から証明書を取得できる仕組みを追跡し、拡張対象となる既存の SASL 認証テストまたはエントリーポイントを特定します。SCRAM-SHA-*-PLUS authenticator がピア証明書を使用したチャネルバインディングをサポートすれば完了です。
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Ruby
- スター
- 121
- フォーク
- 47
- 平均マージ
- 19時間 25分
- マージ済み PR(30日)
- 3
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ruby/net-imap のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
-
bug
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 25/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
メンテナーはふだん 1 日以内に返信
-
Websockify heartbeat for vnc_container対応中かも @robinkar が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
needs verification
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 7 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
akitaonrails/ai-book-2026#13 ·
-
Mend: dependency security vulnerability
難易度 2/5 1〜3時間 初心者へのやさしさ 63/100
メンテナーはふだん 1 日以内に返信