forked from soutade/libgourou
Add support of DRM removal for PDF
This commit is contained in:
@@ -164,6 +164,9 @@ namespace gourou
|
||||
*/
|
||||
std::string serializeRSAPrivateKey(void* rsa);
|
||||
|
||||
/**
|
||||
* @brief Export clear private license key into path
|
||||
*/
|
||||
void exportPrivateLicenseKey(std::string path);
|
||||
|
||||
/**
|
||||
@@ -181,7 +184,11 @@ namespace gourou
|
||||
*/
|
||||
DRMProcessorClient* getClient() { return client; }
|
||||
|
||||
void removeDRM(const std::string& ePubFile, ITEM_TYPE type);
|
||||
/**
|
||||
* @brief Remove ADEPT DRM.
|
||||
* Warning: for PDF format, filenameIn must be different than filenameOut
|
||||
*/
|
||||
void removeDRM(const std::string& filenameIn, const std::string& filenameOut, ITEM_TYPE type);
|
||||
|
||||
private:
|
||||
gourou::DRMProcessorClient* client;
|
||||
@@ -206,7 +213,13 @@ namespace gourou
|
||||
void buildSignInRequest(pugi::xml_document& signInRequest, const std::string& adobeID, const std::string& adobePassword, const std::string& authenticationCertificate);
|
||||
void fetchLicenseServiceCertificate(const std::string& licenseURL,
|
||||
const std::string& operatorURL);
|
||||
void removeEPubDRM(const std::string& ePubFile);
|
||||
void decryptADEPTKey(const std::string& encryptedKey, unsigned char* decryptedKey);
|
||||
void removeEPubDRM(const std::string& filenameIn, const std::string& filenameOut);
|
||||
void generatePDFObjectKey(int version,
|
||||
const unsigned char* masterKey, unsigned int masterKeyLength,
|
||||
int objectId, int objectGenerationNumber,
|
||||
unsigned char* keyOut);
|
||||
void removePDFDRM(const std::string& filenameIn, const std::string& filenameOut);
|
||||
};
|
||||
}
|
||||
|
||||
|
@@ -113,8 +113,11 @@ namespace gourou
|
||||
};
|
||||
|
||||
enum DRM_REMOVAL_ERROR {
|
||||
CLIENT_DRM_ERR_ENCRYPTION_KEY = 0x6000,
|
||||
CLIENT_DRM_FORMAT_NOT_SUPPORTED,
|
||||
DRM_ERR_ENCRYPTION_KEY = 0x6000,
|
||||
DRM_VERSION_NOT_SUPPORTED,
|
||||
DRM_FILE_ERROR,
|
||||
DRM_FORMAT_NOT_SUPPORTED,
|
||||
DRM_IN_OUT_EQUALS
|
||||
};
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user