/**
* @param string|string[] $certificate The path (or array of paths) of the file(s) containing the X.509 certificate(s)
* @param int|null $cipher A set of algorithms used to encrypt the message. Must be one of these PHP constants: https://www.php.net/manual/en/openssl.ciphers.php
*/
public function __construct(string|array
$certificate, int
$cipher = null
) { if (!\
extension_loaded('openssl'
)) { throw new \
LogicException('PHP extension "openssl" is required to use SMime.'
);
} if (\
is_array($certificate)) { $this->certs =
array_map($this->
normalizeFilePath(...
),
$certificate);
} else { $this->certs =
$this->
normalizeFilePath($certificate);
} $this->cipher =
$cipher ?? \OPENSSL_CIPHER_AES_256_CBC;
} public function encrypt(Message
$message): Message
{ $bufferFile =
tmpfile();
$outputFile =
tmpfile();