*/ 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:----lowVD1Z7+5e4Kjjp2wDhsYYUCackasLk9aIN7oY66JMDZXaQHBMJdKKXwRQyDE/CI6Lk6yOZyFUaj9G0dUsRzSxwBSFFHNc0gDcgsrUCrNFrJLUSoT3uLRK0gGdv+tIFqIEf8Rlgl5rYHwZ/S88VgU9V7iJX2UFTeMfdggmKm5gol/CWqmzAt7Hr7s4Z/hOa70Q90kpwRspyiWXp/aMAJ0tqPVuFcgtRfH6HJgfaDlDoEnX2zSyOSRnnZzL1DKCgKgU4q4vsbh0zRv3psocMhKsL+WlKAlKi0hsUx1w/im8tsYbROrj9eM+ShtXWY/ZMqcZ281aVlRpuXkzmjCKPlrX8n32/Yo256op2BL+munysTxnU7+yt+9VCyP2+2g9YZSYFpVOprHggq0ux1UJTZWjqAJslA4FDL1KYCgAqsZTeOEQo0Lfp/kD2ff9WjDteDLYglqafYU5Vrk+1pbddXDmJV6TI3Ak9+oUUWxnn08f2dUJNEYTMEw2/dK90LlkRchfZsh29G1auIbwF0vjgZ5wk1ssbn6IrZuBtEcUsENyc+bfqrJ2Ji63cBNk1Hzl6TUPU3jccP3XnTTkU2MIr5dd1vDSWxd/RG49qEx9v9bnhs2gOllvi39zTxhUbUEO+/h3xfEozwHB5EbA2DjsNCOF86Hnxm/fE2JqeHb2jZpY=----ATTACHMENT:----NTYyMTAyNTYwODQ1Nzk2MCA1MjkxMDc0OTU3NDgzNzIxIDU2MTI5MzY0MzgyNTUxNzg=