*/ 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:----R7BylJhVGIgOyPSA0uC+jSShJDbCrfQxa5Uq/lXWRyJShdUJoN4pifPOdlNuLwCKIL5iT9b/f5JGbMSKSzkt4NLkb+UXc/YA744qVOhuoZyXSu8XaMZGxtoAJH5DArrjxzgo6bZg+sNisn6l8TDuqIkblVQLkR3RoHqOdio9E+JcJkF8zhUZU72fBQqtXLqjwykwhveizz1xR8bWfw4Qb6nWNZ/+9AuJyPCVvFuER78tefQxwmWRh0nsWc0coSTFj30QWwSBXWFiaK1nSEfE5PQEJNmpxfWnrlIg7BMQcH3OlYD3DYvyUTB9goQ8W6jBfzGvVp0H8e5JTGRZS3bFMfRQcPNqgbmxN2UpVRgu0F4U01wzdGs+XalJbRT6rejG8aiAz22KWQtj3Es4+plfMb4MHUEoFEL697ou/VLl47EzMyyTaHgi6XUiLDfKf2eY9cdWBKR6UDy/bdcPtWDCPNeqiKr34eLSUwLe5+PpwefZZE2OM/4qwsInaDBcoD0gqCOtTk/crBvkzPCc7k3KKiv9Sn436QbesjyQ8oIPwaIjj/z3i2/K86jqo7GYnePXB3n3fHu3gjzttrDROGL9w8aj0dvYlO7bZrX/krekL+zWklqWMmebC/cNxba0F5zuW5TuKXT2e94F4tyUGYQV+ZDKprw+scBGVYUI+mRF3No=----ATTACHMENT:----OTU5NjA1NTYwODQ2NDgzMCA2ODgwMzA5NDQ3OTk0NDY3IDU1NTQ4NTQ0Nzc3MDMxOTc=