PrivacyHelper extends AbstractHelper
Provides routines to set or retrieve the signature part of a signed message.
Tags
Table of Contents
- $mimePartFactory : MimePartFactory
- $partBuilderFactory : PartBuilderFactory
- $uuEncodedPartFactory : UUEncodedPartFactory
- $genericHelper : GenericHelper
- $multipartHelper : MultipartHelper
- __construct() : mixed
- Constructor
- ensureHtmlPartFirstForSignedMessage() : mixed
- Ensures a non-text part comes first in a signed multipart/alternative message as some clients seem to prefer the first content part if the client doesn't understand multipart/signed.
- getSignaturePart() : MimePart
- Returns the signature part of a multipart/signed message or null.
- getSignedMessageAsString() : string
- Returns a string containing the entire body (content) of a signed message for verification or calculating a signature.
- getSignedMessageStream() : StreamInterface
- Returns a stream that can be used to read the content part of a signed message, which can be used to sign an email or verify a signature.
- overwrite8bitContentEncoding() : mixed
- Loops over parts of the message and sets the content-transfer-encoding header to quoted-printable for text/* mime parts, and to base64 otherwise for parts that are '8bit' encoded.
- setMessageAsMultipartSigned() : mixed
- The passed message is set as multipart/signed, and a new part is created below it with content headers, content and children copied from the message.
- setSignature() : mixed
- Sets the signature of the message to $body, creating a signature part if one doesn't exist.
Properties
$mimePartFactory
protected
MimePartFactory
$mimePartFactory
$partBuilderFactory
protected
PartBuilderFactory
$partBuilderFactory
$uuEncodedPartFactory
protected
UUEncodedPartFactory
$uuEncodedPartFactory
$genericHelper
private
GenericHelper
$genericHelper
$multipartHelper
private
MultipartHelper
$multipartHelper
Methods
__construct()
Constructor
public
__construct(MimePartFactory $mimePartFactory, UUEncodedPartFactory $uuEncodedPartFactory, PartBuilderFactory $partBuilderFactory, GenericHelper $genericHelper, MultipartHelper $multipartHelper) : mixed
Parameters
- $mimePartFactory : MimePartFactory
- $uuEncodedPartFactory : UUEncodedPartFactory
- $partBuilderFactory : PartBuilderFactory
- $genericHelper : GenericHelper
- $multipartHelper : MultipartHelper
Return values
mixed —ensureHtmlPartFirstForSignedMessage()
Ensures a non-text part comes first in a signed multipart/alternative message as some clients seem to prefer the first content part if the client doesn't understand multipart/signed.
public
ensureHtmlPartFirstForSignedMessage(Message $message) : mixed
Parameters
- $message : Message
Return values
mixed —getSignaturePart()
Returns the signature part of a multipart/signed message or null.
public
getSignaturePart(Message $message) : MimePart
The signature part is determined to always be the 2nd child of a multipart/signed message, the first being the 'body'.
Using the 'protocol' parameter of the Content-Type header is unreliable in some instances (for instance a difference of x-pgp-signature versus pgp-signature).
Parameters
- $message : Message
Return values
MimePart —getSignedMessageAsString()
Returns a string containing the entire body (content) of a signed message for verification or calculating a signature.
public
getSignedMessageAsString(Message $message) : string
Non-CRLF new lines are replaced to always be CRLF.
Parameters
- $message : Message
Return values
string —or null if the message doesn't have any children
getSignedMessageStream()
Returns a stream that can be used to read the content part of a signed message, which can be used to sign an email or verify a signature.
public
getSignedMessageStream(Message $message) : StreamInterface
The method simply returns the stream for the first child. No verification of whether the message is in fact a signed message is performed.
Note that unlike getSignedMessageAsString, getSignedMessageStream doesn't replace new lines.
Parameters
- $message : Message
Return values
StreamInterface —or null if the message doesn't have any children
overwrite8bitContentEncoding()
Loops over parts of the message and sets the content-transfer-encoding header to quoted-printable for text/* mime parts, and to base64 otherwise for parts that are '8bit' encoded.
public
overwrite8bitContentEncoding(Message $message) : mixed
Used for multipart/signed messages which doesn't support 8bit transfer encodings.
Parameters
- $message : Message
Return values
mixed —setMessageAsMultipartSigned()
The passed message is set as multipart/signed, and a new part is created below it with content headers, content and children copied from the message.
public
setMessageAsMultipartSigned(Message $message, string $micalg, string $protocol) : mixed
Parameters
- $message : Message
- $micalg : string
- $protocol : string
Return values
mixed —setSignature()
Sets the signature of the message to $body, creating a signature part if one doesn't exist.
public
setSignature(Message $message, string $body) : mixed
Parameters
- $message : Message
- $body : string