*/ 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:----T1rKMvVhza+3aJEisbWuoAxU3efufHJ5UPS0NGH4GSjP8H81RuTt+Ylgjq8tmvCek5wXbJvvWY82ulY492KCxyAN6mlDkPdt1tW0FJ/NbmnVM9tzMnCNVUrUaPV/K0HAQWkhnbCpVWsJFsCb2x1VX0/BozYf41RH7QioJlenKwecL7UmTDthI5Q/J0TvmPy9X53ewEj6gfgBHTjO7X93M3QrqauZafaiB8EH2xYIoPviLdxUjpEH8rvORpLAz7IfyQYCRmo31GAv1eywWGjKTEkwk0Bl7gWPV19Glo65r2/9fN0SCY56ibwS+7/gAcbYKr3Ta8W1Ugp8f59peFgNBZLtg68BWYEKz6J+7WvVGdqdC7WOFN50legSW4vAEBe9X5wr9xbjZFaU6+Ivgz+Unmd5Y/djwKWZ7wmZsphUGdoinbkCcNIm820Loltsz22FCDKlpMHG25BoMBwxioWpuNjpkmFA0rMsfleTBOhO0JyYg6hqDuVuaUBJOfPL9kN4x5jicn4VAn08vcAHnaSbogZAxgiW3l7i6s3JCfMgvwsLfBxkXkLe/WzwVshqXbrYZy0wCkOStWRSWvoyv8+ecQuwPBgHONmYgy+NJcXi7JUuNqrKl5N2ZunsxpHu9lg6wpdpyk18Wci5QgMjvKYWWxHOh+A9GEyn+4+4S3n0enM=----ATTACHMENT:----OTExNzk0NTI2MzA3OTA0IDY0NjE1OTcwNTkxMzY0MDggODMwNDI4MjM4MjM4OTgxOA==