File dislocker.spec of Package dislocker
#
# spec file for package dislocker
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: dislocker
Version: 0.7.3
Release: 0
Summary: FUSE driver to read and write Windows BitLocker-ed volumes under Linux
Group: System/Filesystems
License: GPL-2.0-only
URL: https://github.com/Aorimn/dislocker
Source: %{name}-%{version}.tar.gz
Patch0: dislocker-0.7.3-build_fix.patch
BuildRequires: cmake
BuildRequires: mbedtls-devel
BuildRequires: pkgconfig(fuse)
BuildRequires: ruby-devel
%description
This software has been designed to read BitLocker encrypted partitions under a
Linux system. The driver has the capability to read/write on:
* Windows Vista, 7, 8, 8.1 and 10 encrypted partitions - that's AES-CBC,
AES-XTS, 128 or 256 bits, with or without the Elephant diffuser, encrypted
partitions;
* BitLocker-To-Go encrypted partitions - that's USB/FAT32 partitions.
The core driver is composed of a library, with multiple binaries (see the NOTES
section below) using this library. Two binaries are of interest when wanting to
decrypt a BitLocker encrypted partition:
1) dislocker-fuse: binary using FUSE to dynamically decrypt the BitLocker-ed
partition. You have to give it a mount point where, once keys are decrypted, a
file named dislocker-file appears. This file is a virtual NTFS partition, so
you can mount it as any NTFS partition and then read from or write to it. Note
that writing to the NTFS virtual file will change the underlying BitLocker
partition's content.
2) dislocker-file: binary decrypting a BitLocker encrypted partition into a
flat file. This file has to be given through command line and, once
dislocker-file is finished, will be an NTFS partition. It won't have any link
to the original BitLocker partition. Therefore, if you write to this file, the
BitLocker volume won't change, only the NTFS file will. Note that this may take
a long time to create that file, depending on the size of the encrypted
partition. But afterward, once the partition is decrypted, the access to the
NTFS partition will be faster. Another thing to think about is the size on your
disk this binary needs: the same size as the volume you're trying to decrypt.
Nevertheless, once the partition is decrypted, you can mount your file as any
NTFS partition.
%package devel
Summary: Files for development
Requires: %{name} = %{version}
Group: Development/Libraries/C and C++
%description devel
This package contains files to develop additional applications that are using
%{name} as a base.
%prep
%autosetup -p1
sed -i "s|/usr/bin/env ruby|%{_bindir}/ruby|g" src/dislocker-find.rb.in
%build
%cmake
%install
%cmake_install
%check
#
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%doc *.md
%license LICENSE.txt
%{_bindir}/dislocker*
%{_libdir}/libdislocker.so.*
%{_mandir}/man1/dislocker*
%files devel
%defattr(-,root,root)
%{_libdir}/libdislocker.so
%changelog