.NET Core/.NET Framework/Mono対応のSASLクライアントライブラリです。 .NET Standard 2.0/1.6に対応しています。
IMAP4クライアントライブラリSmdn.Net.Imap4.ClientおよびPOP3クライアントライブラリSmdn.Net.Pop3.ClientにてSASLによる認証処理で使用しています。
MIT X11ライセンスを採用しています。
実装済み機能一覧
サポートするSASLメカニズムの一覧です。
RFC/document | mechanism name | status | note |
[RFC 1731] IMAP4 Authentication Mechanisms | KERBEROS_V4 | not implemented | |
[RFC 2195] IMAP/POP AUTHorize Extension for Simple Challenge/Response | CRAM-MD5 | implemented | |
[RFC 2444] The One-Time-Password SASL Mechanism | OTP | not implemented | |
[RFC 2444] The One-Time-Password SASL Mechanism | SKEY | not implemented | |
[RFC 2595] Using TLS with IMAP, POP3 and ACAP | PLAIN | implemented | |
[RFC 2808] The SecurID(r) SASL Mechanism | SECURID | not implemented | |
[RFC 2831] Using Digest Authentication as a SASL Mechanism | DIGEST-MD5 | partially implemented | realmには対応していません。 また、サーバ側の実装によっては正しく動作しない可能性があります。 |
[RFC 3163] ISO/IEC 9798-3 Authentication SASL Mechanism | 9798-U-RSA-SHA1-ENC | not implemented | |
[RFC 3163] ISO/IEC 9798-3 Authentication SASL Mechanism | 9798-M-RSA-SHA1-ENC | not implemented | |
[RFC 3163] ISO/IEC 9798-3 Authentication SASL Mechanism | 9798-U-DSA-SHA1 | not implemented | |
[RFC 3163] ISO/IEC 9798-3 Authentication SASL Mechanism | 9798-M-DSA-SHA1 | not implemented | |
[RFC 3163] ISO/IEC 9798-3 Authentication SASL Mechanism | 9798-U-ECDSA-SHA1 | not implemented | |
[RFC 3163] ISO/IEC 9798-3 Authentication SASL Mechanism | 9798-M-ECDSA-SHA1 | not implemented | |
[RFC 4422] Simple Authentication and Security Layer (SASL) | EXTERNAL | not implemented | |
[RFC 4505] Anonymous Simple Authentication and Security Layer (SASL) Mechanism | ANONYMOUS | implemented | |
[RFC 4752] The Kerberos V5 ("GSSAPI") Simple Authentication and Security Layer (SASL) Mechanism | GSSAPI | not implemented | |
[MS-NLMP] NT LAN Manager (NTLM) Authentication Protocol Specification | NTLM | deprecated | |
[draft-ietf-sasl-scram-11] draft-ietf-sasl-scram-11 | SCRAM-* | not implemented | |
[draft-ietf-sasl-scram-11] draft-ietf-sasl-scram-11 | SCRAM-SHA-1 | not implemented | |
[draft-ietf-sasl-scram-11] draft-ietf-sasl-scram-11 | SCRAM-SHA-1-PLUS | not implemented | |
The SASL XOAUTH2 Mechanism | XOAUTH2 | implemented | |
RFC/document | mechanism name | status | note |
使い方・認証処理の実装はSmdn.Net.Imap4.ClientおよびSmdn.Net.Pop3.Clientをご覧ください。 またデモ用アプリケーションMRAConnector, SimpleMailerもあわせてご覧ください。
ダウンロード
リリース | ターゲットフレームワーク | 備考 |
---|---|---|
|
.NET Framework 4.5/4/3.5 |
メンテナンス版
今後重要な更新を除いて機能追加等はしません。 |
Smdn.Security.Authentication.Sasl (NuGet) | .NET Framework 4.7.1/4.5 .NET Standard 2.0/1.6 |
開発版
v1.01に.NET Standard対応を加えたものに相当します。 |
|
||
|
開発版(アルファリリース)
機能的には概ね安定していますが、APIが未確定です。 |
本ライブラリのビルド済みパッケージは用意していません。 必要な場合はNuGetからパッケージを追加するか、あるいはSmdn.Net.Imap4.ClientまたはSmdn.Net.Pop3.Clientのビルド済みパッケージに含まれているものをご利用ください。
不具合・要望・質問等
不具合の報告、ライブラリに対する要望や提案、使い方の質問などは掲示板へどうぞ。
変更履歴
開発版
1.9x系のバージョンは現在開発中の状態です。 APIの破壊的変更を伴う機能追加・実装改善を予定しています。 大まかな予定と方針についてはIMAP4/POP3/MIME関連のロードマップをご覧ください。
2.0alpha1 (2019-01-30)
- API変更
- API差分: 1.91-netstandard2.0_vs_2.0alpha1-netstandard2.0.apilist.diff
- SaslClientMechanism.GetAvailableMechanismsの戻り値をstring[]からIReadOnlyList<string>に変更
- SaslMechanisms.AllMechanismsの型をIEnumerable<string>からIReadOnlyList<string>に変更
- 修正・改善・動作変更
- 例外SaslMechanismNotSupportedExceptionにプロパティMechanismNameを追加、例外の原因となったSASL mechanism nameを格納するようにした
1.91 (2018-12-15)
- 重要な変更
- NuGetパッケージ形式での配布を開始
1.90 (2018-12-04)
(以下はversion 1.00からの変更点となります)
- 重要な変更
- .NET Framework 3.5/4.0への対応を廃止
- NTLM認証のサポートを廃止
- .NET Standard 2.0/1.6に対応
- .NET Framework 4.7.1に対応
- 上位ライブラリ(Smdn.dll, Smdn.Core.Standards.dll)を統合、インターフェイス変更にあわせて実装を修正
- 上記ライブラリの型を直接使用している場合は、名前空間あるいは型名の修正が必要になる場合あり (詳細)
メンテナンス版
1.0x系のバージョンは現在メンテナンス状態です。 今後は主に不具合修正・セキュリティ対応のみを行い、新規機能の追加は行いません。 開発版が安定次第、バージョンの更新を停止する予定です。
1.01 (2018-12-04)
- 廃止予定・廃止
- NTLM認証のサポートを廃止予定にした
ブランチ分岐
v1.00を起点として開発版の1.9x系とメンテナンス版の1.0x系の2ブランチに分岐しました。
1.00 (2014-04-23)
- 修正・改善
- .NET Framework 2.0のサポートを廃止
- NTML認証の実装を更新
- 上位ライブラリを更新
- その他機能上の変更はなし
0.33 (2013-07-15)
- 機能追加
- SASL XOAUTH2 Mechanismの実装となるクラスを追加
- 修正・改善
- SaslMechanismAttributeが継承されるように変更
0.32 (2010-01-08)
- 修正・改善
- 上位ライブラリのインターフェイス変更にあわせて実装を修正
0.31 (2010-12-11)
- 修正・改善
- ライブラリがスローするArgumentExceptionなどいくつかの例外メッセージをよりわかりやすい表記に統一
- その他上位ライブラリのバグ等細かい修正
0.30 (2010-05-15)
- 機能追加
- メカニズム名を取得するSaslClientMechanism.Nameプロパティを追加
- 平文による認証が行われるかどうかを表すSaslClientMechanism.IsPlainTextプロパティを追加
- 修正・改善
- 未完成の実装を無効化
0.29 (2010-04-25)
- 機能追加
- .NET Framework 2.0, 3.5, 4の各バージョン用のプロジェクトファイルを追加
0.28 (2010-04-18)
- 機能追加
- 現在の状態を取得するためのプロパティSaslClientMechanism.ExchangeStatusを追加
- SaslClientMechanism.ExchangeStatusがSucceededもしくはFailedの時にExchange()を呼ぼうとした場合にInvalidOperationExceptionをスローするようにした
- 修正・改善
- 上位ライブラリのインターフェイス変更にあわせて実装および参照アセンブリを修正
- 例外クラスのインターフェイスをカスタム例外のガイドラインに適合するように改善
0.27 (2010-04-04)
- 機能追加
- 例外クラスにSerializableAttributeを設定
- 修正・改善
- SaslExceptionの基底クラスをSystem.SystemExceptionに変更
0.26 (2010-03-22)
- 修正・改善
- StringComparison.Ordinal*の動作を期待していた箇所でInvariantCulture*を使用していたのを修正
0.25 (2010-02-15)
- SaslClientMechanismを継承した任意のクラスを既知の認証メカニズムとして登録・使用できるようにした
- NetworkCredentialの各プロパティがnullを返すことを期待していた実装を修正、nullではなくstring.Emptyの場合に認証をキャンセルするようにした
0.24 (2010-02-06)
- Mono.Security.dllがない環境でも動作するように、Mono.Security.Protocol.Ntlmの実装をインポート
- 認証時に参照するNetworkCredentialのUserNameおよびPasswordプロパティがnullだった場合の動作を整理 (例外はスローせず認証をキャンセル)
0.23 (2010-01-30)
0.22 (2010-01-23)
- Smdn.Net.Imap4.Client, Smdn.Net.Pop3.Clientバージョンアップに伴うリリース
0.21 (2009-12-16)
過去のリリース
- 1.0x
- サイズ
- 95.9kB
- sha1sum
- 21aca5bded29e509be317d2487c02b5a89312cf5
- 0.3x
- サイズ
- 106.5kB
- sha1sum
- 858e36e9e5f47f85eb147c221e84492d499aa7ba
- サイズ
- 95.6kB
- sha1sum
- 56f3bc22de5aef832d44174fc76c26d5e10a78db
- サイズ
- 84.1kB
- sha1sum
- 2a089f09bee7bf11f5df5cd918263d557953caaa
- サイズ
- 76.6kB
- sha1sum
- 2ef0a962984cf35a03ecaa2aef14bf8a5ed6a4e6
- 0.2x
- サイズ
- 75.7kB
- sha1sum
- 495fe38908be731ae5b862dc3cac7e39d5380269
- サイズ
- 73.2kB
- sha1sum
- 2dab34e6e99f173c92658042e15a49381025d058
- サイズ
- 85.6kB
- sha1sum
- b6e3c7a4800d8efac3e44de703aa22ae57060a35
- サイズ
- 85.3kB
- sha1sum
- a79ac322b34d9464d9569b68214590a350230999
- サイズ
- 83.6kB
- sha1sum
- 96c28fc06c7bdbb853308d57b7bb269e54d209de
- サイズ
- 81.9kB
- sha1sum
- a31696a49a441260a0a436710ce706be3a03651e
- サイズ
- 76.3kB
- sha1sum
- 7ff929e0efff8462c97087875da9459170a6e017
- サイズ
- 75.8kB
- sha1sum
- 44f472254a2953edef1a7c57b0b2b2a165842790
制限事項・特記事項
- 実装にあたり、セキュリティ上の考慮はしていますが、十分な検証は行っていないため保証はできません。