File.Encrypt(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ファイルを暗号化し、そのファイルの暗号化に使用したアカウントだけが暗号化の解除をできるようにします。
public:
static void Encrypt(System::String ^ path);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static void Encrypt (string path);
public static void Encrypt (string path);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member Encrypt : string -> unit
static member Encrypt : string -> unit
Public Shared Sub Encrypt (path As String)
パラメーター
- path
- String
暗号化するファイルを示すパス。
- 属性
例外
.NET Frameworkおよび .NET Core バージョンが 2.1 より前の場合: パラメーターはpath
長さ 0 の文字列、空白のみを含む、または無効な文字が 1 つ以上含まれています。 正しくない文字を照会するには、GetInvalidPathChars() メソッドを使用します。
path
パラメーターが null
です。
正しくないドライブが指定されました。
path
パラメーターで記述されているファイルが見つかりませんでした。
指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
現在のオペレーティング システムは Windows NT 以降ではありません。
このファイル システムは NTFS ではありません。
path
パラメーターに読み取り専用のファイルが指定されています。
- または -
この操作は、現在のプラットフォームではサポートされていません。
- または -
path
パラメーターにディレクトリが指定されています。
- または -
呼び出し元に、必要なアクセス許可がありません。
例
次のコード例では、 Encrypt メソッドと メソッドを Decrypt 使用して、ファイルの暗号化と暗号化解除を行います。 この例を機能させるには、ファイルが存在する必要があります。
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
注釈
Encryptメソッドを使用すると、ファイルを暗号化して、このメソッドの呼び出しに使用されたアカウントのみが暗号化を解除できるようにします。 メソッドで Decrypt 暗号化されたファイルの暗号化を解除するには、 メソッドを Encrypt 使用します。
重要
この API は、NTFS 暗号化ファイル システム (EFS) を使用できる Windows プラットフォームでのみサポートされています。 Windows 以外のシステム、Windows Home Edition システム、または NTFS 以外のドライブでこれを使用しようとすると、状況に応じて または NotSupportedExceptionが発生PlatformNotSupportedExceptionします。
.NET Core では、この API の使用は推奨されません。 .NET Core に移動するが、まだ明示的に Windows を対象のアプリケーションの移植性を有効にすることが含まれます。
メソッドは Encrypt 、暗号化されているファイルへの排他的アクセスを必要とし、別のプロセスがファイルを使用している場合は失敗します。
メソッドと メソッドの Encrypt 両方で Decrypt 、コンピューターにインストールされている暗号化サービス プロバイダー (CSP) と、 メソッドを呼び出すプロセスのファイル暗号化キーを使用します。
このメソッドは、Windows のすべてのバージョンで使用できるわけではありません。 たとえば、Home エディションでは使用できません。
現在のファイル システムは NTFS 形式である必要があります。
適用対象
.NET