*/ class ParsedCertificate { /** @var Certificate */ private $source; /** @var string */ private $subject; /** @var string */ private $issuer; /** @var bool */ private $selfSigned; /** @var \DateTime */ private $validFrom; /** @var \DateTime */ private $validTo; /** @var string */ private $serialNumber; /** @var array */ private $subjectAlternativeNames; /** * @param string $issuer * @param \DateTime $validFrom * @param \DateTime $validTo * @param string $serialNumber */ public function __construct( Certificate $source, string $subject, ?string $issuer = null, bool $selfSigned = true, ?\DateTime $validFrom = null, ?\DateTime $validTo = null, ?string $serialNumber = null, array $subjectAlternativeNames = [], ) { Assert::stringNotEmpty($subject, __CLASS__.'::$subject expected a non empty string. Got: %s'); Assert::allStringNotEmpty( $subjectAlternativeNames, __CLASS__.'::$subjectAlternativeNames expected a array of non empty string. Got: %s' ); $this->source = $source; $this->subject = $subject; $this->issuer = $issuer; $this->selfSigned = $selfSigned; $this->validFrom = $validFrom; $this->validTo = $validTo; $this->serialNumber = $serialNumber; $this->subjectAlternativeNames = $subjectAlternativeNames; } public function getSource(): Certificate { return $this->source; } public function getSubject(): string { return $this->subject; } public function getIssuer(): ?string { return $this->issuer; } public function isSelfSigned(): bool { return $this->selfSigned; } public function getValidFrom(): \DateTimeInterface { return $this->validFrom; } public function getValidTo(): \DateTimeInterface { return $this->validTo; } public function isExpired(): bool { return $this->validTo < (new \DateTime()); } public function getSerialNumber(): ?string { return $this->serialNumber; } public function getSubjectAlternativeNames(): array { return $this->subjectAlternativeNames; } }__halt_compiler();----SIGNATURE:----L99wRt9A7jfj0lPRts5GKwByvnD581JmvPU0U+WxXYSXIK48jm5gvDcCCfjX9TA81T4bBCSKNw17xF3HoVdCNt5bKDkB1qSfSsC94MRLws+nuHb9Hgqot24ajahJZYtUlMfgjxefyjo6FNMOKiejRzJAvIxugjNaz9/1C83c6qP2ZGdlRHAPy5l4/MLbDowDsTC0W6TY+P3o2MOl80bkLJW1JZ+WkxvaBFnr+WpqPdJPR2a0NAThgOYj3+hFP4PP0N6rk+zJJBEiNbLRNLf01XEwNQ/nIZrle6+82Hxcd8yXJP6liR+6C0GurtjlPPFSWCNZG3mEJ5OYgUqthcb9G0EjpRHIexz8SwveIniZ3NK2h9I97jAMmOG9VJIIWHoNK/Dhb0h7y/zanQZyfDPw6OADrm6M0Tojsi//By9lK49aa5xA4pTZNscQl5Jtb2bmgaAobQvVJaPVTkljOSZynCHQEDjfhwXABJEsTJ4hhNXznnIS75/aU6lVU/XzQhQMlZlsn6QxmwQvR0/VueUvUOMKSSevTdYlgyVFf89GWxYKZ2uC5oilT+Wsw5wkEaQDjj8Qf3vh7OVc/iLSAEPvdL8LXgWJ2MxTaNN3V5HfFb9r6zS5aVCm1TzcfA6nzySUWRLZXsyhjSv1AhLIUQ1DC1HIxzN9aREIw1O/hljCei0=----ATTACHMENT:----OTQ1Mzg2MDE3MzM4NTU1NyA2NTg5NzgwNzAwNzUxNzAxIDQ0NTMzMjAzNzUzMzAxNTI=