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