1 #ifndef __KEY_BLOCK_H__
2 #define __KEY_BLOCK_H__
17 PLAYREADY_BGROUPCERT_ID
,
25 #define SZ_DRMKEY_ID 4
26 #define SZ_DRMKEY_TYPE 4
27 #define SZ_DRMKEY_SIZE 4
28 #define SZ_DRMKEY_ENC_SIZE 4
29 #define SZ_DRMKEY_RESERVED 64
30 #define SZ_DRMKEY_HEADER_SIZE (SZ_DRMKEY_ID+SZ_DRMKEY_TYPE+SZ_DRMKEY_SIZE+SZ_DRMKEY_ENC_SIZE+SZ_DRMKEY_RESERVED)
31 #define SZ_DRMKEY_SIG 16
36 [in] keyID Enum DRMKeyID
37 [out] oneDrmkeyBlock encrypt DRMBlock
38 [out] blockLeng encrypt DRMBlockLength
40 return 0: OK, others: FAIL
42 int get_encrypt_drmkey ( unsigned int keyID
, unsigned char **oneDrmkeyBlock
, unsigned int *blockLeng
);
44 int get_clearDrmkey_size( unsigned int keyID
, unsigned int *leng
);
46 int free_encrypt_drmkey ( unsigned char *oneEncDrmkeyBlock
);
48 int write_kbo_drmkey(DRMKeyID id
,unsigned char* enckey
,unsigned int length
);
50 int delete_kbo_drmkey(DRMKeyID id
);
52 int install_KB_OTA_API(unsigned char* buff
,unsigned int len
);
54 int query_drmkey ( unsigned int *count
, unsigned int *keytype
);
59 int encrypt_drmkey(DRMKeyID id
,unsigned char* clearKey
,unsigned int inLength
,
60 unsigned char** encKey
,unsigned int* outLength
);
62 #if defined(TRUSONIC_TEE_SUPPORT)
63 int nw_decrypt_drmkey ( unsigned char *encDrmKeyBlock
, unsigned int inLength
,
64 unsigned int *outLength
, unsigned int *p_decrypt_drmky_buffer_handle
);
65 int nw_free_drmkey ( unsigned int *p_decrypt_drmky_buffer_handle
);
68 int decrypt_drmkey ( unsigned char *encDrmKeyBlock
, unsigned int inLength
,
69 unsigned char **DrmKey
, unsigned int *outLength
);
71 int free_drmkey ( unsigned char *drmkey
);
73 int free_drmkey_safe ( unsigned char *drmkey
,int size
);
81 #endif /* __KEY_BLOCK_H__ */