xref: /haiku/src/apps/drivesetup/EncryptionUtils.cpp (revision fc8ec821164223c6707e69654cadaee5b897de01)
1*fc8ec821SDancsó Róbert /*
2*fc8ec821SDancsó Róbert  * Copyright 2014, Dancsó Róbert <dancso.robert@d-rendszer.hu>
3*fc8ec821SDancsó Róbert  *
4*fc8ec821SDancsó Róbert  * Distributed under terms of the MIT license.
5*fc8ec821SDancsó Róbert  */
6*fc8ec821SDancsó Róbert 
7*fc8ec821SDancsó Róbert 
8*fc8ec821SDancsó Róbert #include "EncryptionUtils.h"
9*fc8ec821SDancsó Róbert 
10*fc8ec821SDancsó Róbert #include <Catalog.h>
11*fc8ec821SDancsó Róbert #include <File.h>
12*fc8ec821SDancsó Róbert #include <Locale.h>
13*fc8ec821SDancsó Róbert #include <String.h>
14*fc8ec821SDancsó Róbert 
15*fc8ec821SDancsó Róbert 
16*fc8ec821SDancsó Róbert #define B_TRANSLATION_CONTEXT "Encryption utils"
17*fc8ec821SDancsó Róbert 
18*fc8ec821SDancsó Róbert 
19*fc8ec821SDancsó Róbert const char*
EncryptionType(const char * path)20*fc8ec821SDancsó Róbert EncryptionType(const char* path)
21*fc8ec821SDancsó Róbert {
22*fc8ec821SDancsó Róbert 	char buffer[11];
23*fc8ec821SDancsó Róbert 	BString encrypter;
24*fc8ec821SDancsó Róbert 	off_t length = BFile(path, B_READ_ONLY).Read(&buffer, 11);
25*fc8ec821SDancsó Róbert 	if (length != 11)
26*fc8ec821SDancsó Róbert 		return NULL;
27*fc8ec821SDancsó Róbert 	encrypter.Append(buffer, 11);
28*fc8ec821SDancsó Róbert 
29*fc8ec821SDancsó Róbert 	if (encrypter.FindFirst("-FVE-FS-") >= 0) {
30*fc8ec821SDancsó Róbert 		return B_TRANSLATE("BitLocker encrypted");
31*fc8ec821SDancsó Róbert 	} else if (encrypter.FindFirst("PGPGUARD") >= 0) {
32*fc8ec821SDancsó Róbert 		return B_TRANSLATE("PGP encrypted");
33*fc8ec821SDancsó Róbert 	} else if (encrypter.FindFirst("SafeBoot") >= 0) {
34*fc8ec821SDancsó Róbert 		return B_TRANSLATE("SafeBoot encrypted");
35*fc8ec821SDancsó Róbert 	} else if (encrypter.FindFirst("LUKS") >= 0) {
36*fc8ec821SDancsó Róbert 		return B_TRANSLATE("LUKS encrypted");
37*fc8ec821SDancsó Róbert 	}
38*fc8ec821SDancsó Róbert 
39*fc8ec821SDancsó Róbert 	return NULL;
40*fc8ec821SDancsó Róbert }
41*fc8ec821SDancsó Róbert 
42*fc8ec821SDancsó Róbert 
43