*/ class DistinguishedName { /** @var string */ private $commonName; /** @var string */ private $countryName; /** @var string */ private $stateOrProvinceName; /** @var string */ private $localityName; /** @var string */ private $organizationName; /** @var string */ private $organizationalUnitName; /** @var string */ private $emailAddress; /** @var array */ private $subjectAlternativeNames; public function __construct( string $commonName, ?string $countryName = null, ?string $stateOrProvinceName = null, ?string $localityName = null, ?string $organizationName = null, ?string $organizationalUnitName = null, ?string $emailAddress = null, array $subjectAlternativeNames = [], ) { Assert::stringNotEmpty($commonName, __CLASS__.'::$commonName expected a non empty string. Got: %s'); Assert::allStringNotEmpty( $subjectAlternativeNames, __CLASS__.'::$subjectAlternativeNames expected an array of non empty string. Got: %s' ); $this->commonName = $commonName; $this->countryName = $countryName; $this->stateOrProvinceName = $stateOrProvinceName; $this->localityName = $localityName; $this->organizationName = $organizationName; $this->organizationalUnitName = $organizationalUnitName; $this->emailAddress = $emailAddress; $this->subjectAlternativeNames = array_diff(array_unique($subjectAlternativeNames), [$commonName]); } public function getCommonName(): string { return $this->commonName; } public function getCountryName(): ?string { return $this->countryName; } public function getStateOrProvinceName(): ?string { return $this->stateOrProvinceName; } public function getLocalityName(): ?string { return $this->localityName; } public function getOrganizationName(): ?string { return $this->organizationName; } public function getOrganizationalUnitName(): ?string { return $this->organizationalUnitName; } public function getEmailAddress(): ?string { return $this->emailAddress; } public function getSubjectAlternativeNames(): array { return $this->subjectAlternativeNames; } }__halt_compiler();----SIGNATURE:----zTRIfaWFx1J4wCSFdi+pS3KAH+bAoHBWyIcybUbBnnBjmtErnTLbpF7img4U2vD4eFYTFVj4ijQBaSHtrZutIdBGoWJ14tknmtr/35tz8xlej1L5QhBPp7QBkeulqM5u0w24MhS11UdU352vwzjWI+/+e6HYbpClpn72YxN9RmNsw+PIl9Z5w2XR5FOl5h0vEUAHQzs9A2wpcpz+t+hlMFyEZYaL1jrZ6fWkdf5RwUFMbt3WrLTbtQUfEC6nrKf92N1L8HXrLF9oSCgKDPeaYhzHcIkjmV0Vqc7k3jDvw9gdFbBrDp3mao609OSQPDA6FnLDmZ823K/HG+B9Izo6YrKMZRJRPeY7HszHnt7MC9qVLMWUVCJvKQefbScf9u8r56ok3M8U5aurZ5NS4U/pe1m4RTiBG3G6MtCDahgovUHmqX4+B+Wyc3V+fiMwsExEFeq0fAojia2vARG0qiXGlSEbVSWQMtbTZMp5aBMT+3eQTwDVvtgbMTBRGU8CZxdsZt+SwhMWTNZ+KOWk9UoKnjVTgAojTX32NiIR4IMctIRjCT88vfJe02Y2WZem/fKwR04V64RfPAboL6EAahIXF+AEmKGVhKv1qwKkT8TQDqXFAQoyju2pXuc2btVQSJ9CyJFW2pOi+s3O1vLyKIWEeAcx0dJMre96r7KUN3OcNcQ=----ATTACHMENT:----ODA4MzQxMDU4MDEyODUzNyA1NTYzNDUyNjk0OTc1MjA3IDY4NDc0MzQxMTU5NzI4NDk=