function SMimeSigner::sign
File
-
vendor/
symfony/ mime/ Crypto/ SMimeSigner.php, line 52
Class
- SMimeSigner
- @author Sebastiaan Stok <s.stok@rollerscapes.net>
Namespace
Symfony\Component\Mime\CryptoCode
public function sign(Message $message) : Message {
$bufferFile = tmpfile();
$outputFile = tmpfile();
$this->iteratorToFile($message->getBody()
->toIterable(), $bufferFile);
if (!@openssl_pkcs7_sign(stream_get_meta_data($bufferFile)['uri'], stream_get_meta_data($outputFile)['uri'], $this->signCertificate, $this->signPrivateKey, [], $this->signOptions, $this->extraCerts)) {
throw new RuntimeException(\sprintf('Failed to sign S/Mime message. Error: "%s".', openssl_error_string()));
}
return new Message($message->getHeaders(), $this->convertMessageToSMimePart($outputFile, 'multipart', 'signed'));
}