62 lines
1.8 KiB
C
62 lines
1.8 KiB
C
// Copyright 2024 Google LLC. All Rights Reserved.
|
|
|
|
#ifndef WHITEBOX_API_ENUMS_H_
|
|
#define WHITEBOX_API_ENUMS_H_
|
|
|
|
typedef enum {
|
|
WB_CIPHER_MODE_CTR,
|
|
WB_CIPHER_MODE_CBC,
|
|
} WB_CipherMode;
|
|
|
|
typedef enum {
|
|
WB_KEY_QUERY_TYPE_SIGNING_KEY,
|
|
WB_KEY_QUERY_TYPE_CONTENT_KEY,
|
|
WB_KEY_QUERY_TYPE_GENERIC_KEY,
|
|
} WB_KeyQueryType;
|
|
|
|
typedef enum {
|
|
WB_KCB_FLAGS_ALLOW_ENCRYPT = (1u << 8),
|
|
WB_KCB_FLAGS_ALLOW_DECRYPT = (1u << 7),
|
|
WB_KCB_FLAGS_ALLOW_SIGN = (1u << 6),
|
|
WB_KCB_FLAGS_ALLOW_VERIFY = (1u << 5),
|
|
|
|
WB_KCB_FLAGS_GENERIC_MASK = 0x1e0,
|
|
WB_KCB_FLAGS_SECURITY_LEVEL_SHIFT = 26,
|
|
WB_KCB_FLAGS_SECURITY_LEVEL_MASK = 0x3 << WB_KCB_FLAGS_SECURITY_LEVEL_SHIFT,
|
|
} WB_KcbFlags;
|
|
|
|
typedef enum {
|
|
// The key was found in the license but there was something wrong it and could
|
|
// not be loaded.
|
|
WB_KEY_STATUS_INVALID,
|
|
|
|
// The key was found in the license and can be used with
|
|
// |WB_License_SignRenewalRequest()| and with
|
|
// |WB_License_VerifyRenewalResponse()|.
|
|
WB_KEY_STATUS_SIGNING_KEY_VALID,
|
|
|
|
// The key was found in the license. However, the permisions of the key are
|
|
// different depending on its status.
|
|
//
|
|
// | DECRYPT | MASKED DECRYPT |
|
|
// ---------------+---------+----------------+
|
|
// VALID | No | No |
|
|
// MASKED_DECRYPT | No | Yes |
|
|
// DECRYPT | Yes | Yes |
|
|
WB_KEY_STATUS_CONTENT_KEY_VALID,
|
|
WB_KEY_STATUS_CONTENT_KEY_MASKED_DECRYPT,
|
|
WB_KEY_STATUS_CONTENT_KEY_DECRYPT,
|
|
} WB_KeyStatus;
|
|
|
|
typedef enum {
|
|
// The license response uses single key - the license signing and encryption
|
|
// key are the same.
|
|
WB_LICENSE_KEY_MODE_SINGLE_KEY,
|
|
|
|
// The license response uses two keys - the license signing and encryption
|
|
// key are different.
|
|
WB_LICENSE_KEY_MODE_DUAL_KEY,
|
|
} WB_LicenseKeyMode;
|
|
|
|
#endif // WHITEBOX_API_ENUMS_H_
|