Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if($result->status_cd == 1) {
- // Test JSON
- $final_response = '{"Name":"narayan"}';
- //Step-1
- $key_size = 32; // 256 bits
- $encryption_key = openssl_random_pseudo_bytes($key_size);
- $unique_session_key = $encryption_key;
- //Step-2
- $encrypt_data = $this->encryptDataFile($final_response, $unique_session_key);
- //Step-3
- $hash_data = hash('sha256', $final_response, true);
- //Step-4
- $encrypt_hash_data = $this->encryptDataFile($hash_data, $unique_session_key);
- //Step-5
- $encrypt_public_key = $this->encryptEmsignerPublicKey($unique_session_key);
- //Prepare data to send emsigner
- $final_emsigner_data = array('step-5' => $encrypt_public_key, 'step-2' => $encrypt_data, 'step-4' => $encrypt_hash_data);
- return $final_emsigner_data;
- }
- private function encryptEmsignerPublicKey($unique_session_key)
- {
- openssl_public_encrypt($unique_session_key, $encrypt_data, file_get_contents('certificate.cer') );
- return base64_encode($encrypt_data);
- }
- private function encryptDataFile ($data, $key)
- {
- $iv_size = 16; // 128 bits
- $iv = openssl_random_pseudo_bytes($iv_size, $strong);
- return openssl_encrypt($data,"AES-256-CBC",$key, OPENSSL_RAW_DATA, $iv);
- }
Add Comment
Please, Sign In to add comment