| Index: core/src/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.cpp
|
| diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_encrypt.cpp b/core/src/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.cpp
|
| similarity index 98%
|
| rename from core/src/fpdfapi/fpdf_parser/fpdf_parser_encrypt.cpp
|
| rename to core/src/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.cpp
|
| index 5d710657be79ef7072053f6b692659f93c068d6b..d7a6fd59fe232dc0ddd4fb82b5f8c6264730db21 100644
|
| --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_encrypt.cpp
|
| +++ b/core/src/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.cpp
|
| @@ -4,19 +4,27 @@
|
|
|
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
|
|
|
| -#include "core/include/fpdfapi/fpdf_parser.h"
|
| +#include "core/src/fpdfapi/fpdf_parser/cpdf_standard_crypto_handler.h"
|
| +
|
| +#include <time.h>
|
|
|
| +#include "core/include/fpdfapi/fpdf_parser.h"
|
| #include "core/include/fpdfapi/cpdf_parser.h"
|
| #include "core/include/fpdfapi/cpdf_simple_parser.h"
|
| #include "core/include/fpdfapi/ipdf_security_handler.h"
|
| #include "core/include/fdrm/fx_crypt.h"
|
|
|
| -struct PDF_CRYPTOITEM {
|
| - int32_t m_Cipher;
|
| - int32_t m_KeyLen;
|
| - FX_BOOL m_bChecked;
|
| - CPDF_StandardCryptoHandler* m_pCryptoHandler;
|
| -};
|
| +IPDF_CryptoHandler::~IPDF_CryptoHandler() {}
|
| +
|
| +void IPDF_CryptoHandler::Decrypt(FX_DWORD objnum,
|
| + FX_DWORD gennum,
|
| + CFX_ByteString& str) {
|
| + CFX_BinaryBuf dest_buf;
|
| + void* context = DecryptStart(objnum, gennum);
|
| + DecryptStream(context, (const uint8_t*)str, str.GetLength(), dest_buf);
|
| + DecryptFinish(context, dest_buf);
|
| + str = dest_buf;
|
| +}
|
|
|
| void CPDF_StandardCryptoHandler::CryptBlock(FX_BOOL bEncrypt,
|
| FX_DWORD objnum,
|
| @@ -325,15 +333,6 @@ FX_BOOL CPDF_StandardCryptoHandler::EncryptContent(FX_DWORD objnum,
|
| CryptBlock(TRUE, objnum, gennum, src_buf, src_size, dest_buf, dest_size);
|
| return TRUE;
|
| }
|
| -void CPDF_CryptoHandler::Decrypt(FX_DWORD objnum,
|
| - FX_DWORD gennum,
|
| - CFX_ByteString& str) {
|
| - CFX_BinaryBuf dest_buf;
|
| - void* context = DecryptStart(objnum, gennum);
|
| - DecryptStream(context, (const uint8_t*)str, str.GetLength(), dest_buf);
|
| - DecryptFinish(context, dest_buf);
|
| - str = dest_buf;
|
| -}
|
| CPDF_StandardCryptoHandler::CPDF_StandardCryptoHandler() {
|
| m_pAESContext = NULL;
|
| m_Cipher = FXCIPHER_NONE;
|
|
|