SecureStringとは何? わかりやすく解説 Weblio辞書 (original) (raw)

SecureString クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

機密を守る必要のあるテキスト表しますテキスト使用時プライバシー維持のために暗号化され、不要になるコンピュータメモリから削除されます。このクラス継承できません。

名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Visual Basic (宣言)

Public NotInheritable Class SecureString Inherits CriticalFinalizerObject Implements IDisposable

Visual Basic (使用法)

Dim instance As SecureString

C#

public sealed class SecureString : CriticalFinalizerObject, IDisposable

C++

public ref class SecureString sealed : public CriticalFinalizerObject, IDisposable

J#

public final class SecureString extends CriticalFinalizerObject implements IDisposable

JScript

public final class SecureString extends CriticalFinalizerObject implements IDisposable

解説解説

System.String クラスインスタンス変更不可であると同時に不要になるプログラムガベージ コレクション対象としてスケジュールできなくなります。つまり、このインスタンス作成後は読み取り専用であり、いつコンピュータメモリから削除されるのか予測できません。**String** オブジェクトパスワードクレジット カード番号個人データなどの機密情報含まれている場合データアプリケーションによってコンピュータメモリから削除できないため、機密情報使用後情報盗まれる危険性あります

SecureString オブジェクトは、テキスト値を格納するという点で String オブジェクト似てます。ただし、SecureString オブジェクトの値は自動的に暗号化されますアプリケーション読み取り専用としてマークするまでは変更でき、アプリケーション.NET Framework ガベージ コレクタによってコンピュータメモリから削除できます

SecureStringインスタンスの値は、インスタンス初期化されるか値が変更されたときに、自動的に暗号化されますアプリケーションで MakeReadOnly メソッド実行することで、インスタンス変更不可にし、それ以上変更を防ぐことができます

SecureString には、SecureString の値を検査比較、または変換するためのメンバがありません。このようなメンバがないため、インスタンスの値が誤って、または意図的に公開されることを未然に防ぐことができますSecureString オブジェクトの値を操作するには、SecureStringToBSTR メソッドなど、System.Runtime.InteropServices.Marshal クラス適切なメンバ使用します

SecureString クラスは CriticalFinalizerObject クラスから派生したもので、IDisposable インターフェイス実装しています。IDisposable インターフェイス実装方法詳細については、「ガベージ コレクション」を参照してください

SecureString クラスとそのメンバは、COM からは参照できません。詳細については、「ComVisibleAttribute」を参照してください

Windows 2000 プラットフォームメモ : SecureString は、Windows 2000 Service Pack 3 以降でだけサポートされています。

継承階層継承階層

System.Object
System.Runtime.ConstrainedExecution.CriticalFinalizerObject
System.Security.SecureString

スレッド セーフスレッド セーフ

この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。

プラットフォームプラットフォーム

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォーム中には.NET Framework によってサポートされていないバージョンありますサポートされているバージョンについては、「システム要件」を参照してください

バージョン情報バージョン情報

.NET Framework
サポート対象 : 2.0

参照参照

関連項目
SecureString メンバ
System.Security 名前空間
ComVisibleAttribute クラス
Marshal クラス
CriticalFinalizerObject クラス
IDisposable


SecureString コンストラクタ ()

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

SecureString クラス新しインスタンス初期化します。

名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Visual Basic (宣言)

Public Sub New

Visual Basic (使用法)

Dim instance As New SecureString

C#

public SecureString ()

C++

public: SecureString ()

J#

public SecureString ()

JScript

public function SecureString ()

例外例外

例外種類 条件
CryptographicException このインスタンスの値を暗号化または復号化するときにエラー発生しました
NotSupportedException このプラットフォームでは、この操作サポートされていません。

解説解説

Windows 2000 プラットフォームメモ : SecureString は、Windows 2000 Service Pack 3 以降でだけサポートされています。

プラットフォームプラットフォーム

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォーム中には.NET Framework によってサポートされていないバージョンありますサポートされているバージョンについては、「システム要件」を参照してください

バージョン情報バージョン情報

.NET Framework
サポート対象 : 2.0

参照参照

関連項目
SecureString クラス
SecureString メンバ
System.Security 名前空間


SecureString コンストラクタ (Char*, Int32)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

System.Char オブジェクトサブ配列から SecureString クラス新しインスタンス初期化します。

このコンストラクタは、CLS準拠していません。 CLS準拠する代替必要な場合は、SecureString を使用してください

名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Visual Basic (宣言)

Visual Basic は、安全でない型を使用した戻したりする APIサポートしません。

Visual Basic (使用法)

Visual Basic は、安全でない型を使用した戻したりする APIサポートしません。

C#

[CLSCompliantAttribute(false)] public SecureString ( char* value, int length )

C++

[CLSCompliantAttribute(false)] public: SecureString ( wchar_t* value, int length )

J#

J# は、安全でない型を使用した戻したりする APIサポートしません。

JScript

JScript は、安全でない型を使用した戻したりする APIサポートしません。

パラメータ

value

System.Char オブジェクト配列へのポインタ

length

新しインスタンス含めvalue 要素の数。

例外例外

例外種類 条件
ArgumentNullException valuenull 参照 (Visual Basic では Nothing) です。
ArgumentOutOfRangeException length が 0 未満、または 65536超えます
CryptographicException このセキュリティ文字列の値を暗号化または復号化するときにエラー発生しました
NotSupportedException このプラットフォームでは、この操作サポートされていません。

解説解説

このコンストラクタで、新しSecureString オブジェクトlength により指定されvalue文字数初期化されますその後、このインスタンスの値が暗号化されます

Windows 2000 プラットフォームメモ : SecureString は、Windows 2000 Service Pack 3 以降でだけサポートされています。

プラットフォームプラットフォーム

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

開発プラットフォーム中には.NET Framework によってサポートされていないバージョンありますサポートされているバージョンについては、「システム要件」を参照してください

バージョン情報バージョン情報

.NET Framework
サポート対象 : 2.0

参照参照

関連項目
SecureString クラス
SecureString メンバ
System.Security 名前空間


SecureString コンストラクタ

SecureString クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
SecureString () SecureString クラス新しインスタンス初期化します。
SecureString (Char*, Int32) System.Char オブジェクトサブ配列から SecureString クラス新しインスタンス初期化します。

参照参照

関連項目

SecureString クラス
SecureString メンバ
System.Security 名前空間


SecureString プロパティ

パブリック プロパティパブリック プロパティ

| | 名前 | 説明 | | | --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | パブリック プロパティ | Length | 現在のセキュリティ文字列長さ取得します。 |

参照参照

関連項目

SecureString クラス
System.Security 名前空間
ComVisibleAttribute クラス
Marshal クラス
CriticalFinalizerObject クラス
IDisposable


SecureString メソッド

パブリック メソッドパブリック メソッド

| | 名前 | 説明 | | | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | パブリック メソッド | AppendChar | 現在のセキュリティ文字列末尾に、文字1 つ追加します。 | | パブリック メソッド | Clear | 現在のセキュリティ文字列の値を削除します。 | | パブリック メソッド | Copy | 現在のセキュリティ文字列コピー作成します。 | | パブリック メソッド | Dispose | 現在の SecureString オブジェクトによって使用されているすべてのリソース解放します。 | | パブリック メソッド | Equals | オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。) | | パブリック メソッド | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。) | | パブリック メソッド | GetType | 現在のインスタンスType取得します。 (Object から継承されます。) | | パブリック メソッド | InsertAt | このセキュリティ文字列指定したインデックス位置に文字挿入します。 | | パブリック メソッド | IsReadOnly | このセキュリティ文字列読み取り専用としてマークされているかどうか示します。 | | パブリック メソッド | MakeReadOnly | このセキュリティ文字列テキスト値を読み取り専用にします。 | | パブリック メソッド | ReferenceEquals | 指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。) | | パブリック メソッド | RemoveAt | このセキュリティ文字列指定されインデックス位置にある文字削除します。 | | パブリック メソッド | SetAt | 指定されインデックス位置にある既存文字別の文字置き換えます。 | | パブリック メソッド | ToString | 現在の Object を表す String返します。 (Object から継承されます。) |

参照参照

関連項目

SecureString クラス
System.Security 名前空間
ComVisibleAttribute クラス
Marshal クラス
CriticalFinalizerObject クラス
IDisposable


SecureString メンバ

機密を守る必要のあるテキスト表しますテキスト使用時プライバシー維持のために暗号化され、不要になるコンピュータメモリから削除されます。このクラス継承できません。

SecureStringデータ型公開されるメンバを以下の表に示します

パブリック コンストラクタパブリック コンストラクタ

| | 名前 | 説明 | | | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | パブリック メソッド | SecureString | オーバーロードされます。 SecureString クラス新しインスタンス初期化します。 |

パブリック プロパティパブリック プロパティ

| | 名前 | 説明 | | | --------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | パブリック プロパティ | Length | 現在のセキュリティ文字列長さ取得します。 |

パブリック メソッドパブリック メソッド

| | 名前 | 説明 | | | ------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | パブリック メソッド | AppendChar | 現在のセキュリティ文字列末尾に、文字1 つ追加します。 | | パブリック メソッド | Clear | 現在のセキュリティ文字列の値を削除します。 | | パブリック メソッド | Copy | 現在のセキュリティ文字列コピー作成します。 | | パブリック メソッド | Dispose | 現在の SecureString オブジェクトによって使用されているすべてのリソース解放します。 | | パブリック メソッド | Equals | オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。) | | パブリック メソッド | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。) | | パブリック メソッド | GetType | 現在のインスタンスType取得します。 (Object から継承されます。) | | パブリック メソッド | InsertAt | このセキュリティ文字列指定したインデックス位置に文字挿入します。 | | パブリック メソッド | IsReadOnly | このセキュリティ文字列読み取り専用としてマークされているかどうか示します。 | | パブリック メソッド | MakeReadOnly | このセキュリティ文字列テキスト値を読み取り専用にします。 | | パブリック メソッド | ReferenceEquals | 指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。) | | パブリック メソッド | RemoveAt | このセキュリティ文字列指定されインデックス位置にある文字削除します。 | | パブリック メソッド | SetAt | 指定されインデックス位置にある既存文字別の文字置き換えます。 | | パブリック メソッド | ToString | 現在の Object を表す String返します。 (Object から継承されます。) |

参照参照

関連項目

SecureString クラス
System.Security 名前空間
ComVisibleAttribute クラス
Marshal クラス
CriticalFinalizerObject クラス
IDisposable