| | |
| | | if ($this->smime_driver) |
| | | return; |
| | | |
| | | // NOT IMPLEMENTED! |
| | | return; |
| | | |
| | | $driver = 'enigma_driver_' . $this->rc->config->get('enigma_smime_driver', 'phpssl'); |
| | | $username = $this->rc->user->get_username(); |
| | | |
| | |
| | | |
| | | fclose($fh); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Handler for PGP/MIME signed message. |
| | | * Verifies signature. |
| | |
| | | */ |
| | | private function parse_pgp_signed(&$p) |
| | | { |
| | | $this->load_pgp_driver(); |
| | | $struct = $p['structure']; |
| | | |
| | | // Verify signature |
| | | if ($this->rc->action == 'show' || $this->rc->action == 'preview') { |
| | | $this->load_pgp_driver(); |
| | | $struct = $p['structure']; |
| | | |
| | | $msg_part = $struct->parts[0]; |
| | | $sig_part = $struct->parts[1]; |
| | | |
| | | |
| | | // Get bodies |
| | | $this->set_part_body($msg_part, $p['object']->uid); |
| | | $this->set_part_body($sig_part, $p['object']->uid); |
| | |
| | | */ |
| | | private function parse_smime_signed(&$p) |
| | | { |
| | | $this->load_smime_driver(); |
| | | // Verify signature |
| | | if ($this->rc->action == 'show' || $this->rc->action == 'preview') { |
| | | $this->load_smime_driver(); |
| | | |
| | | $struct = $p['structure']; |
| | | $msg_part = $struct->parts[0]; |
| | | |
| | | // Verify |
| | | $sig = $this->smime_driver->verify($struct, $p['object']); |
| | | |
| | | // Store signature data for display |
| | | $this->signatures[$struct->mime_id] = $sig; |
| | | |
| | | // Message can be multipart (assign signature to each subpart) |
| | | if (!empty($msg_part->parts)) { |
| | | foreach ($msg_part->parts as $part) |
| | | $this->signed_parts[$part->mime_id] = $struct->mime_id; |
| | | } |
| | | else { |
| | | $this->signed_parts[$msg_part->mime_id] = $struct->mime_id; |
| | | } |
| | | |
| | | // Remove signature file from attachments list |
| | | unset($struct->parts[1]); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | { |
| | | $this->load_pgp_driver(); |
| | | $part = $p['structure']; |
| | | |
| | | |
| | | // Get body |
| | | $this->set_part_body($part, $p['object']->uid); |
| | | |
| | | // Decrypt |
| | | // Decrypt |
| | | $result = $this->pgp_decrypt($part->body); |
| | | |
| | | |
| | | // Store decryption status |
| | | $this->decryptions[$part->mime_id] = $result; |
| | | |
| | | |
| | | // Parse decrypted message |
| | | if ($result === true) { |
| | | // @TODO |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Handler for PGP/MIME encrypted message. |
| | | * |
| | |
| | | */ |
| | | private function parse_smime_encrypted(&$p) |
| | | { |
| | | $this->load_smime_driver(); |
| | | // $this->load_smime_driver(); |
| | | } |
| | | |
| | | /** |