SecureStringとは何? わかりやすく解説 Weblio辞書 (original) (raw)
SecureString クラス
メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。
機密を守る必要のあるテキストを表します。テキストは使用時にプライバシー維持のために暗号化され、不要になるとコンピュータのメモリから削除されます。このクラスは継承できません。
名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文
Public NotInheritable Class SecureString Inherits CriticalFinalizerObject Implements IDisposable
public sealed class SecureString : CriticalFinalizerObject, IDisposable
public ref class SecureString sealed : public CriticalFinalizerObject, IDisposable
public final class SecureString extends CriticalFinalizerObject implements IDisposable
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
関連項目
SecureString メンバ
System.Security 名前空間
ComVisibleAttribute クラス
Marshal クラス
CriticalFinalizerObject クラス
IDisposable
SecureString コンストラクタ ()
メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。
SecureString クラスの新しいインスタンスを初期化します。
名前空間: System.Security
アセンブリ: mscorlib (mscorlib.dll 内)
構文
Dim instance As New SecureString
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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
関連項目
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 は、安全でない型を使用したり戻したりする API をサポートしません。
Visual Basic は、安全でない型を使用したり戻したりする API をサポートしません。
[CLSCompliantAttribute(false)] public SecureString ( char* value, int length )
[CLSCompliantAttribute(false)] public: SecureString ( wchar_t* value, int length )
J# は、安全でない型を使用したり戻したりする API をサポートしません。
JScript は、安全でない型を使用したり戻したりする API をサポートしません。
| 例外の種類 | 条件 |
|---|---|
| ArgumentNullException | value が null 参照 (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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
関連項目
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