mirror of
https://github.com/humhub/humhub.git
synced 2025-04-22 16:11:55 +02:00
Merge pull request #3657 from ChadiRachid/feature/smime-signing
Expose signingOptions and extraCerts params
This commit is contained in:
commit
a9beaa92b1
@ -41,6 +41,17 @@ class Mailer extends \yii\swiftmailer\Mailer
|
||||
* @var string|null Path for the sigining certificate private key. If provided emails will be digitally signed before sending.
|
||||
*/
|
||||
public $signingPrivateKeyPath = null;
|
||||
|
||||
/**
|
||||
* @var string|null Path for extra sigining certificates (i.e. intermidiate certificates).
|
||||
*/
|
||||
public $signingExtraCertsPath = null;
|
||||
|
||||
/**
|
||||
* @var int Bitwise operator options for openssl_pkcs7_sign()
|
||||
*/
|
||||
public $signingOptions = PKCS7_DETACHED;
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new message instance and optionally composes its body content via view rendering.
|
||||
@ -72,7 +83,8 @@ class Mailer extends \yii\swiftmailer\Mailer
|
||||
}
|
||||
|
||||
if ($this->signingCertificatePath !== null && $this->signingPrivateKeyPath !== null) {
|
||||
$message->setSmimeSigner($this->signingCertificatePath, $this->signingPrivateKeyPath);
|
||||
$message->setSmimeSigner($this->signingCertificatePath, $this->signingPrivateKeyPath, $this->signingOptions, $this->signingExtraCertsPath);
|
||||
|
||||
}
|
||||
|
||||
return $message;
|
||||
|
@ -16,11 +16,11 @@ namespace humhub\components\mail;
|
||||
*/
|
||||
class Message extends \yii\swiftmailer\Message
|
||||
{
|
||||
public function setSmimeSigner($signingCertificatePath, $signingPrivateKeyPath)
|
||||
public function setSmimeSigner($signingCertificatePath, $signingPrivateKeyPath, $signingOptions = PKCS7_DETACHED, $extraCerts = null)
|
||||
{
|
||||
$signer = \Swift_Signers_SMimeSigner::newInstance();
|
||||
|
||||
$signer->setSignCertificate($signingCertificatePath, $signingPrivateKeyPath);
|
||||
$signer->setSignCertificate($signingCertificatePath, $signingPrivateKeyPath, $signingOptions, $extraCerts);
|
||||
|
||||
$this->getSwiftMessage()->attachSigner($signer);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user