File.Decrypt(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
Encrypt(String) メソッドを使用して現在のアカウントによって暗号化されたファイルを復号化します。
public:
static void Decrypt(System::String ^ path);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static void Decrypt (string path);
public static void Decrypt (string path);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Decrypt : string -> unit
static member Decrypt : string -> unit
Public Shared Sub Decrypt (path As String)
パラメーター
- path
- String
復号化するファイルを示すパス。
- 属性
例外
2.1 より前のバージョンの .NET Framework と .NET Core: パラメーターは path
長さ 0 の文字列、空白のみを含む、または 1 つ以上の無効な文字を含みます。 正しくない文字を照会するには、GetInvalidPathChars() メソッドを使用します。
path
パラメーターが null
です。
正しくないドライブが指定されました。
path
パラメーターで記述されているファイルが見つかりませんでした。
ファイルを開くときに、I/O エラーが発生しました。 たとえば、暗号化されたファイルが既に開いています。
- または -
この操作は、現在のプラットフォームではサポートされていません。
指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
現在のオペレーティング システムは Windows NT 以降ではありません。
このファイル システムは NTFS ではありません。
path
パラメーターに読み取り専用のファイルが指定されています。
- または -
この操作は、現在のプラットフォームではサポートされていません。
- または -
path
パラメーターにディレクトリが指定されています。
- または -
呼び出し元に、必要なアクセス許可がありません。
例
次のコード例では、 メソッドと メソッドをEncryptDecrypt使用して、ファイルの暗号化と暗号化解除を行います。 この例を機能させるには、ファイルが存在している必要があります。
using namespace System;
using namespace System::IO;
int main()
{
String^ fileName = "test.xml";
if (!File::Exists(fileName))
{
Console::WriteLine("The file " + fileName
+ " does not exist.");
return 0;
}
try
{
Console::WriteLine("Encrypt " + fileName);
// Encrypt the file.
File::Encrypt(fileName);
Console::WriteLine("Decrypt " + fileName);
// Decrypt the file.
File::Decrypt(fileName);
Console::WriteLine("Done");
}
catch (IOException^ ex)
{
Console::WriteLine("There was an IO problem.");
Console::WriteLine(ex->Message);
}
catch (PlatformNotSupportedException^)
{
Console::WriteLine("Encryption is not supported on " +
"this system.");
}
catch (NotSupportedException^)
{
Console::WriteLine("Encryption is not supported on " +
"this system.");
}
catch (UnauthorizedAccessException^)
{
Console::WriteLine("The operation could not be "
+ "carried out.");
}
}
using System;
using System.IO;
using System.Security.AccessControl;
namespace FileSystemExample
{
class FileExample
{
public static void Main()
{
try
{
string FileName = "test.xml";
Console.WriteLine("Encrypt " + FileName);
// Encrypt the file.
AddEncryption(FileName);
Console.WriteLine("Decrypt " + FileName);
// Decrypt the file.
RemoveEncryption(FileName);
Console.WriteLine("Done");
}
catch (Exception e)
{
Console.WriteLine(e);
}
Console.ReadLine();
}
// Encrypt a file.
public static void AddEncryption(string FileName)
{
File.Encrypt(FileName);
}
// Decrypt a file.
public static void RemoveEncryption(string FileName)
{
File.Decrypt(FileName);
}
}
}
open System.IO
// Encrypt a file.
let addEncryption fileName = File.Encrypt fileName
// Decrypt a file.
let removeEncryption fileName = File.Decrypt fileName
let fileName = "test.xml"
printfn $"Encrypt {fileName}"
// Encrypt the file.
addEncryption fileName
printfn $"Decrypt {fileName}"
// Decrypt the file.
removeEncryption fileName
printfn "Done"
Imports System.IO
Imports System.Security.AccessControl
Module FileExample
Sub Main()
Try
Dim FileName As String = "test.xml"
Console.WriteLine("Encrypt " + FileName)
' Encrypt the file.
AddEncryption(FileName)
Console.WriteLine("Decrypt " + FileName)
' Decrypt the file.
RemoveEncryption(FileName)
Console.WriteLine("Done")
Catch e As Exception
Console.WriteLine(e)
End Try
Console.ReadLine()
End Sub
' Encrypt a file.
Sub AddEncryption(ByVal FileName As String)
File.Encrypt(FileName)
End Sub
' Decrypt the file.
Sub RemoveEncryption(ByVal FileName As String)
File.Decrypt(FileName)
End Sub
End Module
注釈
Decryptメソッドを使用すると、 メソッドを使用して暗号化されたファイルをEncrypt復号化できます。 メソッドは、現在の Decrypt ユーザー アカウントを使用して暗号化されたファイルのみを復号化できます。
重要
この API は、NTFS 暗号化ファイル システム (EFS) を使用できる Windows プラットフォームでのみサポートされています。 これを Windows 以外のシステム、Windows Home Edition システム、または NTFS 以外のドライブで PlatformNotSupportedException 使用しようとすると、状況に応じて または NotSupportedExceptionが発生します。
.NET Core では、この API の使用は推奨されません。 .NET Core に移動するが、まだ明示的に Windows を対象のアプリケーションの移植性を有効にすることが含まれます。
メソッドは Decrypt 、暗号化を解除するファイルへの排他的アクセスを必要とし、別のプロセスでファイルを使用している場合は例外を発生させます。
メソッドと メソッドのEncryptDecrypt両方で、コンピューターにインストールされている暗号化サービス プロバイダー (CSP) と、 メソッドを呼び出すプロセスのファイル暗号化キーを使用します。
現在のファイル システムは NTFS 形式で、現在のオペレーティング システムは Windows NT 以降である必要があります。
適用対象
.NET