├── SOURCE ├── Core │ ├── signkey.snk │ ├── packages.config │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Enums │ │ ├── CertificateType.cs │ │ ├── ForceEncryptionType.cs │ │ ├── ActiveDirectoryFlag.cs │ │ ├── KeyProtectorFlag.cs │ │ ├── WipingStatus.cs │ │ ├── HardwareEncryptionStatus.cs │ │ ├── FVEMetadataVersion.cs │ │ ├── TestStatus.cs │ │ ├── LockStatus.cs │ │ ├── ConversionStatus.cs │ │ ├── KeyProtectorType.cs │ │ ├── TestError.cs │ │ ├── ProtectionStatus.cs │ │ └── EncryptionMethod.cs │ ├── ExceptionHelper.cs │ ├── API.cs │ └── BitLockerManager.csproj ├── Demo │ ├── App.config │ ├── Properties │ │ ├── Settings.settings │ │ ├── Settings.Designer.cs │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ └── Resources.resx │ ├── App.xaml │ ├── App.xaml.cs │ ├── MainWindow.xaml │ ├── Demo.csproj │ └── MainWindow.xaml.cs ├── BitlockerManager.sln.DotSettings ├── BitlockerManager.sln.DotSettings.user ├── BitlockerManager.nuspec └── BitlockerManager.sln ├── .gitignore ├── README.md └── LICENSE /SOURCE/Core/signkey.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/roman-miniailov/BitlockerManager/HEAD/SOURCE/Core/signkey.snk -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | SOURCE/.vs/ 2 | SOURCE/Core/obj/ 3 | SOURCE/Demo/Demo/bin/ 4 | SOURCE/Demo/bin/ 5 | SOURCE/Demo/obj/ 6 | SOURCE/packages/ 7 | SOURCE/Core/bin/ 8 | *.cmd 9 | *.nupkg 10 | -------------------------------------------------------------------------------- /SOURCE/Demo/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## BitLocker Manager 2 | 3 | Using Bitlocker Manager you can lock/unlock/create/encrypt/decrypt/remove/etc. BitLocker drives. 4 | 5 | .Net 4.0 and later. 6 | 7 | Please use NuGet build - https://www.nuget.org/packages/BitLockerManager/ -------------------------------------------------------------------------------- /SOURCE/Demo/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /SOURCE/Demo/App.xaml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /SOURCE/Demo/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Configuration; 4 | using System.Data; 5 | using System.Linq; 6 | using System.Threading.Tasks; 7 | using System.Windows; 8 | 9 | namespace Demo 10 | { 11 | /// 12 | /// Interaction logic for App.xaml 13 | /// 14 | public partial class App : Application 15 | { 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /SOURCE/BitlockerManager.sln.DotSettings: -------------------------------------------------------------------------------- 1 | 2 | DO_NOT_SHOW -------------------------------------------------------------------------------- /SOURCE/Core/packages.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /SOURCE/BitlockerManager.sln.DotSettings.user: -------------------------------------------------------------------------------- 1 | 2 | DO_NOT_SHOW 3 | DO_NOT_SHOW 4 | PIN 5 | TPM -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Roman Minyaylov 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /SOURCE/Demo/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Demo.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /SOURCE/BitlockerManager.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BitLockerManager 6 | 7 | 8 | 1.0.1.0 9 | 10 | 11 | BitLocker manager. 12 | 13 | 14 | Roman Minyaylov 15 | 16 | 17 | Roman Minyaylov 18 | 19 | 20 | https://github.com/roman-minyaylov/BitlockerManager 21 | 22 | 23 | https://github.com/roman-minyaylov/BitlockerManager 24 | 25 | 26 | https://github.githubassets.com/favicon.ico 27 | 28 | 29 | false 30 | 31 | 32 | BitLocker manager. Lock/unlock, create, remove, encrypt and so on using C# or VB.Net. 33 | 34 | 35 | BitLocker manager. Lock/unlock, create, remove, encrypt and so on using C# or VB.Net. Source code - https://github.com/roman-minyaylov/BitlockerManager . 36 | 37 | 38 | Bug fixes and performance improvements. Please check changelog. 39 | 40 | 41 | Roman Minyaylov (c) 2019 - 2020 42 | 43 | 44 | bitlocker encryption encrypt 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /SOURCE/Core/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("BitlockerManager")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Roman Minyaylov")] 12 | [assembly: AssemblyProduct("BitlockerManager")] 13 | [assembly: AssemblyCopyright("Copyright © 2020")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("952243c9-2f6e-45eb-9be2-a8390a170a9d")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.1.0")] 36 | [assembly: AssemblyFileVersion("1.0.1.0")] 37 | -------------------------------------------------------------------------------- /SOURCE/BitlockerManager.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29709.97 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BitLockerManager", "Core\BitLockerManager.csproj", "{952243C9-2F6E-45EB-9BE2-A8390A170A9D}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Demo", "Demo\Demo.csproj", "{F881124C-BCC8-4A37-861F-9122E796550D}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|Any CPU = Debug|Any CPU 13 | Release|Any CPU = Release|Any CPU 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {952243C9-2F6E-45EB-9BE2-A8390A170A9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 17 | {952243C9-2F6E-45EB-9BE2-A8390A170A9D}.Debug|Any CPU.Build.0 = Debug|Any CPU 18 | {952243C9-2F6E-45EB-9BE2-A8390A170A9D}.Release|Any CPU.ActiveCfg = Release|Any CPU 19 | {952243C9-2F6E-45EB-9BE2-A8390A170A9D}.Release|Any CPU.Build.0 = Release|Any CPU 20 | {F881124C-BCC8-4A37-861F-9122E796550D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {F881124C-BCC8-4A37-861F-9122E796550D}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {F881124C-BCC8-4A37-861F-9122E796550D}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {F881124C-BCC8-4A37-861F-9122E796550D}.Release|Any CPU.Build.0 = Release|Any CPU 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {6F7F8233-27CA-4FDB-BC7A-1AD0383B42C5} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /SOURCE/Core/Enums/CertificateType.cs: -------------------------------------------------------------------------------- 1 | // -------------------------------------------------------------------------------------------------------------------- 2 | // The MIT License (MIT) 3 | // 4 | // Copyright © 2015-2020 Roman Minyaylov (roman.minyaylov@gmail.com) 5 | // 6 | // Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), 7 | // to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 8 | // The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 9 | // THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 10 | // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 11 | // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 12 | // -------------------------------------------------------------------------------------------------------------------- 13 | 14 | 15 | namespace BitlockerManager.Enums 16 | { 17 | /// 18 | /// Certificate type. 19 | /// 20 | public enum CertificateType : uint 21 | { 22 | /// 23 | /// The certificate is a DRA. 24 | /// 25 | DRA = 1, 26 | 27 | /// 28 | /// The certificate is not a DRA. 29 | /// 30 | NotDRA = 2 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /SOURCE/Demo/MainWindow.xaml: -------------------------------------------------------------------------------- 1 | 9 | 10 | 11 | 12 |