/** * @param QuestionHelper $helper * @param InputInterface $input * @param OutputInterface $output * @param DistinguishedName $distinguishedName * * @return DistinguishedName */ public function ask(QuestionHelper $helper, InputInterface $input, OutputInterface $output, DistinguishedName $distinguishedName) { $countryName = $distinguishedName->getCountryName() ?: $helper->ask($input, $output, new Question('What is your country two-letters code (field "C" of the distinguished name, for instance: "US")? : ', 'FR')); $stateOrProvinceName = $distinguishedName->getStateOrProvinceName() ?: $helper->ask($input, $output, new Question('What is your country province (field "ST" of the distinguished name, for instance: "California")? : ')); $localityName = $distinguishedName->getLocalityName() ?: $helper->ask($input, $output, new Question('What is your locality (field "L" of the distinguished name, for instance: "Mountain View")? : ')); $organizationName = $distinguishedName->getOrganizationName() ?: $helper->ask($input, $output, new Question('What is your organization/company (field "O" of the distinguished name, for instance: "Acme PHP")? : ')); $organizationalUnitName = $distinguishedName->getOrganizationalUnitName() ?: $helper->ask($input, $output, new Question('What is your unit/department in your organization (field "OU" of the distinguished name, for instance: "Sales")? : ')); $emailAddress = $distinguishedName->getEmailAddress() ?: $helper->ask($input, $output, new Question('What is your e-mail address (field "E" of the distinguished name)? : ')); return new DistinguishedName($distinguishedName->getCommonName(), $countryName, $stateOrProvinceName, $localityName, $organizationName, $organizationalUnitName, $emailAddress, $distinguishedName->getSubjectAlternativeNames()); }
/** * Retrieves a CSR payload from the given distinguished name. * * @param DistinguishedName $distinguishedName * * @return array */ private function getCSRPayload(DistinguishedName $distinguishedName) { $payload = ['commonName' => $distinguishedName->getCommonName()]; if (null !== ($countryName = $distinguishedName->getCountryName())) { $payload['countryName'] = $countryName; } if (null !== ($stateOrProvinceName = $distinguishedName->getStateOrProvinceName())) { $payload['stateOrProvinceName'] = $stateOrProvinceName; } if (null !== ($localityName = $distinguishedName->getLocalityName())) { $payload['localityName'] = $localityName; } if (null !== ($OrganizationName = $distinguishedName->getOrganizationName())) { $payload['organizationName'] = $OrganizationName; } if (null !== ($organizationUnitName = $distinguishedName->getOrganizationalUnitName())) { $payload['organizationalUnitName'] = $organizationUnitName; } if (null !== ($emailAddress = $distinguishedName->getEmailAddress())) { $payload['emailAddress'] = $emailAddress; } return $payload; }