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óbertEncryptionType(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