Working PlayReady/Verimatrix DRM support
This commit is contained in:
parent
27fdbb2468
commit
0913d2607e
25 changed files with 1360 additions and 103 deletions
|
|
@ -1,8 +1,34 @@
|
|||
#pragma once
|
||||
#include <string>
|
||||
#include "dtsc.h"
|
||||
|
||||
namespace Encryption {
|
||||
class verimatrixData {
|
||||
public:
|
||||
void read(const char * shmPage);
|
||||
void write(char * shmPage);
|
||||
std::string url;
|
||||
std::string name;
|
||||
std::string key;
|
||||
std::string keyid;
|
||||
std::string keyseed;
|
||||
std::string laurl;
|
||||
std::string lauurl;
|
||||
};
|
||||
|
||||
std::string hexString(const char * data, unsigned long dataLen);
|
||||
|
||||
std::string AES_Crypt(const std::string & data, const std::string & key, std::string & ivec);
|
||||
std::string AES_Crypt(const char * data, int dataLen, const char * key, const char * ivec);
|
||||
|
||||
//These functions are dangerous for your data
|
||||
void AESFullCrypt(char * data, int dataLen, const char * key, const char * ivec);
|
||||
void AESPartialCrypt(char * data, int dataLen, char * expandedKey, char * eCount, char * iVec, unsigned int & num, bool & initialize);
|
||||
|
||||
std::string PR_GenerateContentKey(std::string & keyseed, std::string & keyid);
|
||||
std::string PR_GuidToByteArray(std::string & guid);
|
||||
|
||||
void encryptPlayReady(DTSC::Packet & pack, std::string & codec, const char * iVec, const char * key);
|
||||
|
||||
void fillVerimatrix(verimatrixData & vmData);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue