По запросу произошла ошибка HTTP, отличная от ACME 400
Пытаюсь интегрировать библиотеку acmephp в свой проект, но я продолжаю получать эту ошибку, когда пытаюсь запросить авторизацию для домена
Ошибка HTTP, отличная от ACME 400, произошла при запросе "POST https://acme-v02.api.letsencrypt.org/acme/new-order" (тело ответа: "(усечено...)")
Вот код инициализации клиента
public function registerWebsite()
{
try {
$secureHttpClientFactory = new SecureHttpClientFactory(
new GuzzleHttpClient(),
new Base64SafeEncoder(),
new KeyParser(),
new DataSigner(),
new ServerErrorHandler()
);
$acmeKeyPath = storage_path('acme-keys');
if (!file_exists($acmeKeyPath)) {
mkdir($acmeKeyPath, 0700, true);
}
$publicKeyPath = $acmeKeyPath . '/account.pub.pem';
$privateKeyPath = $acmeKeyPath . '/account.pem';
if (!file_exists($privateKeyPath)) {
$keyPairGenerator = new KeyPairGenerator();
$keyPair = $keyPairGenerator->generateKeyPair();
file_put_contents($publicKeyPath, $keyPair->getPublicKey()->getPEM());
file_put_contents($privateKeyPath, $keyPair->getPrivateKey()->getPEM());
} else {
$publicKey = new PublicKey(file_get_contents($publicKeyPath));
$privateKey = new PrivateKey(file_get_contents($privateKeyPath));
$keyPair = new KeyPair($publicKey, $privateKey);
}
$secureHttpClient = $secureHttpClientFactory->createSecureHttpClient($keyPair);
$acmeClient = new AcmeClient($secureHttpClient, 'https://acme-staging-v02.api.letsencrypt.org/directory');
$registerResponse = $acmeClient->registerAccount(null, 'kaladakienka@gmail.com');
$authorizationChallenges = $acmeClient->requestAuthorization('http://ssl-ops-staging.thehuddle.nl/');
dd($authorizationChallenges);
} catch (\Exception $ex) {
dd($ex->getMessage());
}
}
1 ответ
Решение
Разобрался в этом.
$acmeClient->requestAuthorization('http://ssl-ops-staging.thehuddle.nl/')
должно быть
$acmeClient->requestAuthorization('ssl-ops-staging.thehuddle.nl');