#89 encrypt using GnuPG works

This commit is contained in:
the-djmaze 2022-02-09 11:02:12 +01:00
parent 8fff6fa759
commit e7b2ed9881

View file

@ -1265,11 +1265,12 @@ trait Messages
} }
} }
/*
// TODO: sign, but verify is still invalid
$sFingerprint = $this->GetActionParam('SignFingerprint', ''); $sFingerprint = $this->GetActionParam('SignFingerprint', '');
$sPassphrase = $this->GetActionParam('SignPassphrase', ''); $sPassphrase = $this->GetActionParam('SignPassphrase', '');
if ($sFingerprint) { if ($sFingerprint) {
// TODO: but verify is still invalid
throw new \Exception('Sign using GnuPG not working yet');
/*
$GPG = $this->GnuPG(); $GPG = $this->GnuPG();
$oBody = $oMessage->GetRootPart(); $oBody = $oMessage->GetRootPart();
$fp = \fopen('php://memory', 'r+b'); $fp = \fopen('php://memory', 'r+b');
@ -1301,8 +1302,8 @@ trait Messages
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, '7Bit'); $oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, '7Bit');
$oAlternativePart->Body = $sSignature; $oAlternativePart->Body = $sSignature;
$oPart->SubParts->append($oAlternativePart); $oPart->SubParts->append($oAlternativePart);
}
*/ */
}
// TODO: encrypt // TODO: encrypt
$sFingerprints = $this->GetActionParam('EncryptFingerprints', ''); $sFingerprints = $this->GetActionParam('EncryptFingerprints', '');
@ -1311,7 +1312,6 @@ trait Messages
$oBody = $oMessage->GetRootPart(); $oBody = $oMessage->GetRootPart();
$fp = \fopen('php://memory', 'r+b'); $fp = \fopen('php://memory', 'r+b');
$resource = $oBody->ToStream(); $resource = $oBody->ToStream();
// \MailSo\Base\StreamFilters\LineEndings::appendTo($resource);
\stream_copy_to_stream($resource, $fp); \stream_copy_to_stream($resource, $fp);
foreach (\explode(',', $sFingerprints) as $sFingerprint) { foreach (\explode(',', $sFingerprints) as $sFingerprint) {
$GPG->addEncryptKey($sFingerprint); $GPG->addEncryptKey($sFingerprint);
@ -1339,7 +1339,7 @@ trait Messages
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'application/octet-stream'); $oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TYPE, 'application/octet-stream');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_DISPOSITION, 'inline; filename="msg.asc"'); $oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_DISPOSITION, 'inline; filename="msg.asc"');
$oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, '7Bit'); $oAlternativePart->Headers->AddByName(\MailSo\Mime\Enumerations\Header::CONTENT_TRANSFER_ENCODING, '7Bit');
$oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString(\preg_replace('/\\R/', "\r\n", \trim($sEncrypted))); $oAlternativePart->Body = \MailSo\Base\ResourceRegistry::CreateMemoryResourceFromString($sEncrypted);
$oPart->SubParts->append($oAlternativePart); $oPart->SubParts->append($oAlternativePart);
} }