blob: 189a4281b26eefc1a7e7915f1b07637cb65031a6 [file] [log] [blame]
bigbiff7ba75002020-04-11 20:47:09 -04001/*
2 * Copyright (C) 2016 Team Win Recovery Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#include <stdio.h>
18#include <stdlib.h>
19#include <string.h>
20#include "fscrypt_policy.h"
bigbiffa957f072021-03-07 18:20:29 -050021#include "fscrypt/fscrypt.h"
bigbiff7ba75002020-04-11 20:47:09 -040022
bigbiff7ba75002020-04-11 20:47:09 -040023int main(int argc, char *argv[]) {
24 if (argc != 2) {
25 printf("Must specify a path\n");
26 return -1;
27 } else {
bigbiffa957f072021-03-07 18:20:29 -050028#ifdef USE_FSCRYPT_POLICY_V1
29 fscrypt_policy_v1 fep;
30#else
31 fscrypt_policy_v2 fep;
32#endif
bigbiff7ba75002020-04-11 20:47:09 -040033 if (fscrypt_policy_get_struct(argv[1], &fep)) {
bigbiff2e344ab2021-05-07 10:41:55 -040034#ifdef USE_FSCRYPT_POLICY_V1
35 char policy_hex[FS_KEY_DESCRIPTOR_SIZE_HEX];
36 bytes_to_hex(fep.master_key_descriptor, FS_KEY_DESCRIPTOR_SIZE, policy_hex);
37#else
bigbiffa957f072021-03-07 18:20:29 -050038 char policy_hex[FSCRYPT_KEY_IDENTIFIER_HEX_SIZE];
39 bytes_to_hex(fep.master_key_identifier, FSCRYPT_KEY_IDENTIFIER_SIZE, policy_hex);
bigbiff2e344ab2021-05-07 10:41:55 -040040#endif
bigbiff7ba75002020-04-11 20:47:09 -040041 printf("%s\n", policy_hex);
42 } else {
43 printf("No policy set\n");
44 }
45 }
46 return 0;
47}