From c3d5c9746384ccf13617370fbc81397040355c4d Mon Sep 17 00:00:00 2001 From: Artem Strygin Date: Tue, 3 Oct 2017 20:31:00 +0300 Subject: Use ByteString instead raw string for password in CPDF_SecurityHandler. Change-Id: I598d42027d033b250134429dfdf92ba043a523a3 Reviewed-on: https://pdfium-review.googlesource.com/15310 Commit-Queue: Art Snake Reviewed-by: dsinclair --- core/fpdfapi/parser/cpdf_security_handler.h | 37 ++++++++++------------------- 1 file changed, 12 insertions(+), 25 deletions(-) (limited to 'core/fpdfapi/parser/cpdf_security_handler.h') diff --git a/core/fpdfapi/parser/cpdf_security_handler.h b/core/fpdfapi/parser/cpdf_security_handler.h index c03d97c411..753a8503a1 100644 --- a/core/fpdfapi/parser/cpdf_security_handler.h +++ b/core/fpdfapi/parser/cpdf_security_handler.h @@ -38,23 +38,17 @@ class CPDF_SecurityHandler { void OnCreate(CPDF_Dictionary* pEncryptDict, CPDF_Array* pIdArray, - const uint8_t* user_pass, - uint32_t user_size, - const uint8_t* owner_pass, - uint32_t owner_size, + const ByteString& user_password, + const ByteString& owner_password, uint32_t type = PDF_ENCRYPT_CONTENT); void OnCreate(CPDF_Dictionary* pEncryptDict, CPDF_Array* pIdArray, - const uint8_t* user_pass, - uint32_t user_size, + const ByteString& user_password, uint32_t type = PDF_ENCRYPT_CONTENT); - ByteString GetUserPassword(const uint8_t* owner_pass, - uint32_t pass_size, - int32_t key_len); - bool CheckPassword(const uint8_t* password, - uint32_t pass_size, + ByteString GetUserPassword(const ByteString& owner_password, int32_t key_len); + bool CheckPassword(const ByteString& user_password, bool bOwner, uint8_t* key, int key_len); @@ -71,23 +65,19 @@ class CPDF_SecurityHandler { int& cipher, int& key_len); - bool CheckUserPassword(const uint8_t* password, - uint32_t pass_size, + bool CheckUserPassword(const ByteString& password, bool bIgnoreEncryptMeta, uint8_t* key, int32_t key_len); - bool CheckOwnerPassword(const uint8_t* password, - uint32_t pass_size, + bool CheckOwnerPassword(const ByteString& password, uint8_t* key, int32_t key_len); - bool AES256_CheckPassword(const uint8_t* password, - uint32_t size, + bool AES256_CheckPassword(const ByteString& password, bool bOwner, uint8_t* key); void AES256_SetPassword(CPDF_Dictionary* pEncryptDict, - const uint8_t* password, - uint32_t size, + const ByteString& password, bool bOwner, const uint8_t* key); void AES256_SetPerms(CPDF_Dictionary* pEncryptDict, @@ -96,19 +86,16 @@ class CPDF_SecurityHandler { const uint8_t* key); void OnCreate(CPDF_Dictionary* pEncryptDict, CPDF_Array* pIdArray, - const uint8_t* user_pass, - uint32_t user_size, - const uint8_t* owner_pass, - uint32_t owner_size, + const ByteString& user_password, + const ByteString& owner_password, bool bDefault, uint32_t type); - bool CheckSecurity(int32_t key_len); + bool CheckSecurity(const ByteString& password); int m_Version; int m_Revision; UnownedPtr m_pEncryptDict; UnownedPtr m_pIdArray; - ByteString m_Password; uint32_t m_Permissions; int m_Cipher; uint8_t m_EncryptKey[32]; -- cgit v1.2.3