По запросу произошла ошибка HTTP, отличная от ACME 400 - PullRequest
0 голосов
/ 08 мая 2020

Пытаюсь интегрировать библиотеку acme php в мой проект, но я продолжаю получать эту ошибку, когда пытаюсь запросить авторизацию для домена

По запросу произошла ошибка 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 Ответ

0 голосов
/ 11 мая 2020

Разобрался.

$acmeClient->requestAuthorization('http://ssl-ops-staging.thehuddle.nl/') 

должно быть

$acmeClient->requestAuthorization('ssl-ops-staging.thehuddle.nl');
...