Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Humayun Ghani
    @humayunghani_twitter
    Any help on this to get me going further from anyone would be highly appreciated.
    @tgalopin
    Titouan Galopin
    @tgalopin
    hello @humayunghani_twitter !
    the agreement needed is the Let's Encrypt agreement, but since a few month ago, it is automatically accepted if you don't specify it
    you can see the logic of auto-acceptance in the Client: https://github.com/acmephp/acmephp/blob/master/src/Core/AcmeClient.php#L85
    Titouan Galopin
    @tgalopin
    for the rest of the usage of the library, I have to admit it lacks documentation
    I have to write it, but I don't have much time lately
    if you need a hand, don't hesitate to ask here!
    johnmarchi
    @johnmarchi
    Any help possible with an error I'm receiving when I try to use the 'register' (or even the 'request') command?
    [AcmePhp\Core\Exception\AcmeCoreClientException]
    An error occured during request "GET https://acme-v01.api.letsencrypt.org/directory"
    I ran the command with -vvv and got a large trace if that will be useful.
    Titouan Galopin
    @tgalopin
    that would be useful indeed : )
    johnmarchi
    @johnmarchi
    Exception trace:
    () at phar://C:/temp/acmephp.phar/src/Core/Http/SecureHttpClient.php:259
    AcmePhp\Core\Http\SecureHttpClient->handleClientException() at phar://C:/temp/acmephp.phar/src/Core/Http/SecureHttpClient.php:159
    AcmePhp\Core\Http\SecureHttpClient->unsignedRequest() at phar://C:/temp/acmephp.phar/src/Core/AcmeClient.php:299
    AcmePhp\Core\AcmeClient->initializeDirectory() at phar://C:/temp/acmephp.phar/src/Core/AcmeClient.php:282
    AcmePhp\Core\AcmeClient->requestResource() at phar://C:/temp/acmephp.phar/src/Core/AcmeClient.php:85
    AcmePhp\Core\AcmeClient->registerAccount() at phar://C:/temp/acmephp.phar/src/Cli/Command/RegisterCommand.php:80
    AcmePhp\Cli\Command\RegisterCommand->execute() at phar://C:/temp/acmephp.phar/vendor/symfony/console/Command/Command.php:262
    Symfony\Component\Console\Command\Command->run() at phar://C:/temp/acmephp.phar/vendor/symfony/console/Application.php:826
    Symfony\Component\Console\Application->doRunCommand() at phar://C:/temp/acmephp.phar/vendor/symfony/console/Application.php:189
    Symfony\Component\Console\Application->doRun() at phar://C:/temp/acmephp.phar/vendor/symfony/console/Application.php:120
    Symfony\Component\Console\Application->run() at phar://C:/temp/acmephp.phar/bin/acme:41 require() at C:\temp\acmephp.phar:10
    Titouan Galopin
    @tgalopin
    the trace itself does not seem to contain much info
    do you have the full error?
    I guess following [AcmePhp\Core\Exception\AcmeCoreClientException] An error occured during request "GET https://acme-v01.api.letsencrypt.org/directory", there should be another error message
    johnmarchi
    @johnmarchi

    Sorry. I usually try to fix the first error first. Here's the rest:
    [GuzzleHttp\Exception\RequestException]
    cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

    Exception trace:
    () at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:187
    GuzzleHttp\Handler\CurlFactory::createRejection() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:150
    GuzzleHttp\Handler\CurlFactory::finishError() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php:103
    GuzzleHttp\Handler\CurlFactory::finish() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php:43
    GuzzleHttp\Handler\CurlHandler->invoke() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:28
    GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler{closure}() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php:51
    GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler{closure}() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php:42
    GuzzleHttp\PrepareBodyMiddleware->
    invoke() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Middleware.php:30
    GuzzleHttp\Middleware::GuzzleHttp{closure}() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php:68
    GuzzleHttp\RedirectMiddleware->invoke() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Middleware.php:59
    GuzzleHttp\Middleware::GuzzleHttp{closure}() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/HandlerStack.php:67
    GuzzleHttp\HandlerStack->
    invoke() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Client.php:275
    GuzzleHttp\Client->transfer() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Client.php:98
    GuzzleHttp\Client->sendAsync() at phar://C:/temp/acmephp.phar/vendor/guzzlehttp/guzzle/src/Client.php:104
    GuzzleHttp\Client->send() at phar://C:/temp/acmephp.phar/src/Core/Http/SecureHttpClient.php:157
    AcmePhp\Core\Http\SecureHttpClient->unsignedRequest() at phar://C:/temp/acmephp.phar/src/Core/AcmeClient.php:299
    AcmePhp\Core\AcmeClient->initializeDirectory() at phar://C:/temp/acmephp.phar/src/Core/AcmeClient.php:282
    AcmePhp\Core\AcmeClient->requestResource() at phar://C:/temp/acmephp.phar/src/Core/AcmeClient.php:85
    AcmePhp\Core\AcmeClient->registerAccount() at phar://C:/temp/acmephp.phar/src/Cli/Command/RegisterCommand.php:80
    AcmePhp\Cli\Command\RegisterCommand->execute() at phar://C:/temp/acmephp.phar/vendor/symfony/console/Command/Command.php:262
    Symfony\Component\Console\Command\Command->run() at phar://C:/temp/acmephp.phar/vendor/symfony/console/Application.php:826
    Symfony\Component\Console\Application->doRunCommand() at phar://C:/temp/acmephp.phar/vendor/symfony/console/Application.php:189
    Symfony\Component\Console\Application->doRun() at phar://C:/temp/acmephp.phar/vendor/symfony/console/Application.php:120
    Symfony\Component\Console\Application->run() at phar://C:/temp/acmephp.phar/bin/acme:41
    require() at C:\temp\acmephp.phar:10

    Marcel Riedlinger
    @riddl

    Note: You only need to prove once that you own a domain (certificates renewals won't require it), as long as you keep the same account key.

    Does this also apply to DNS authentication?

    Titouan Galopin
    @tgalopin
    @johnmarchi it seems Acme PHP is not able to find your local SSL root certificates. What version of AcmePHP are you using?
    @riddl yes it does : )
    johnmarchi
    @johnmarchi
    It is "Acme PHP - Let's Encrypt client 1.0.0-beta4".
    johnmarchi
    @johnmarchi
    Anything else I can check or do?
    Titouan Galopin
    @tgalopin
    Can you try to configure the cafile option of PHP (http://php.net/manual/en/migration56.openssl.php)?
    Arsen
    @ArsSirek

    Hi all, thanks for the great tool!
    Perhaps I am missing something here, but I used Slack monitoring configuration and it's working fine, but the message isn't much informative for me.
    for example:

    Message
    Certificate needs renewal

    Level

    DEBUG

    Today at 3:00 PM

    [2:59]
    Message
    A critical error occured during certificate renewal

    Level

    ALERT

    Today at 3:00 PM

    Is it possible to configure the system to report actual domain name as well? Or where I should look to customize the message for myself,
    or perhaps PR that logic as option to config?

    If I get it right, the \AcmePhp\Cli\Monitoring\SlackHandlerBuilder can add some processors or formatter to \Monolog\Handler\SlackHandler to get the domain name from $record->context ?

    Or is it fine to move the domain name to the actual message part in \AcmePhp\Cli\Command\RequestCommand ?

             $monitoringLogger->debug('Certificate needs renewal', [
                 'domain'      => $domain,
                 'valid_until' => $parsedCertificate->getValidTo()->format('Y-m-d H:i:s'),
             ]);

    my version is 1.0.0-dev, should contain the least 1.0.0-beta4 changes

    johnmarchi
    @johnmarchi
    @tgalopin: Thanks for the help. Forcing a cafile location worked.
    johnmarchi
    @johnmarchi

    I am setting up SMTP monitoring. I have only the following in the acmephar.conf file:

    monitoring:
        email: SMTP
            host: mail.company.net
            to: myemail.company.net

    I receive the following when running the monitoring test:

      [Symfony\Component\Yaml\Exception\ParseException]
      A colon cannot be used in an unquoted mapping value at line 4 (near " to: myemail.company.net").

    Here is the trace:
    () at phar://C:/ssl/acmephp.phar/vendor/symfony/yaml/Parser.php:601
    Symfony\Component\Yaml\Parser->parseValue() at phar://C:/ssl/acmephp.phar/vendor/symfony/yaml/Parser.php:261
    Symfony\Component\Yaml\Parser->parse() at phar://C:/ssl/acmephp.phar/vendor/symfony/yaml/Parser.php:354
    Symfony\Component\Yaml\Parser->parseBlock() at phar://C:/ssl/acmephp.phar/vendor/symfony/yaml/Parser.php:251
    Symfony\Component\Yaml\Parser->parse() at phar://C:/ssl/acmephp.phar/vendor/symfony/yaml/Yaml.php:79
    Symfony\Component\Yaml\Yaml::parse() at phar://C:/ssl/acmephp.phar/src/Cli/Command/AbstractCommand.php:192
    AcmePhp\Cli\Command\AbstractCommand->initializeConfiguration() at phar://C:/ssl/acmephp.phar/src/Cli/Command/AbstractCommand.php:132
    AcmePhp\Cli\Command\AbstractCommand->initializeContainer() at phar://C:/ssl/acmephp.phar/src/Cli/Command/AbstractCommand.php:120
    AcmePhp\Cli\Command\AbstractCommand->getContainer() at phar://C:/ssl/acmephp.phar/src/Cli/Command/AbstractCommand.php:111
    AcmePhp\Cli\Command\AbstractCommand->getCliLogger() at phar://C:/ssl/acmephp.phar/src/Cli/Command/AbstractCommand.php:248
    AcmePhp\Cli\Command\AbstractCommand->info() at phar://C:/ssl/acmephp.phar/src/Cli/Command/MonitoringTestCommand.php:49
    AcmePhp\Cli\Command\MonitoringTestCommand->execute() at phar://C:/ssl/acmephp.phar/vendor/symfony/console/Command/Command.php:262
    Symfony\Component\Console\Command\Command->run() at phar://C:/ssl/acmephp.phar/vendor/symfony/console/Application.php:826
    Symfony\Component\Console\Application->doRunCommand() at phar://C:/ssl/acmephp.phar/vendor/symfony/console/Application.php:189
    Symfony\Component\Console\Application->doRun() at phar://C:/ssl/acmephp.phar/vendor/symfony/console/Application.php:120
    Symfony\Component\Console\Application->run() at phar://C:/ssl/acmephp.phar/bin/acme:41
    require() at C:\ssl\acmephp.phar:10

    monitoring-test [<level>]

    I am using beta 4. What have I got configured wrong?

    johnmarchi
    @johnmarchi
    I just noticed that I foobar'd the email address. Correcting it still causes a similar error:
    A colon cannot be used in an unquoted mapping value at line 4 (near " to: myemail@company.net").
    Titouan Galopin
    @tgalopin
    @johnmarchi can you try putting quotes around the string?
    johnmarchi
    @johnmarchi
    Same error:
      [Symfony\Component\Yaml\Exception\ParseException]
      A colon cannot be used in an unquoted mapping value at line 4 (near " to: "myemail@company.net"").
    Same error with single quotes.
    Titouan Galopin
    @tgalopin
    could you show me your full file?
    johnmarchi
    @johnmarchi

    Sure - here it is:

    monitoring:
     email: SMTP
      host: mail.company.net
      to: 'myemail@company.net'

    I have been slowly trimming it down from the example file given in the distribution but kept getting the same message.

    Titouan Galopin
    @tgalopin
    oh! your email key does not seem aligned, can you add a space?
    wait no
    you shouldn't put SMTP
    try:
    monitoring:
        email:
            to: myemail@company.net
            host: mail.company.net
    johnmarchi
    @johnmarchi
    Got past the 'colon' error message by removing SMTP. Now it says the test was successful but I did not receive any email. Is there a way to trace the communications?
    Loading monitoring configuration...
    Triggering monitoring on "error" level...
    Triggered successfully
    You should have been alerted
    Titouan Galopin
    @tgalopin
    Not really, mails are difficult to track. Are you sure your SMTP server is working properly?
    johnmarchi
    @johnmarchi
    I connected up to it using telnet and sent an email to myself so it does appear to be working.
    Miki
    @TheJoin95

    Hi guys, actually I'm trying to renew some certificates but the php acmephp.phar request give me this output:

    [AcmePhp\Core\Exception\Server\UnauthorizedServerException]
      [unauthorized] The client lacks sufficient authorization: Error creating new cert :: authorizations for these names not found or expired: sda.quine
      ws.net (on request "POST https://acme-v01.api.letsencrypt.org/acme/new-cert")
    
    
    
      [GuzzleHttp\Exception\ClientException]
      Client error: `POST https://acme-v01.api.letsencrypt.org/acme/new-cert` resulted in a `403 Forbidden` response:
      {
        "type": "urn:acme:error:unauthorized",
        "detail": "Error creating new cert :: authorizations for these names not fo (truncated...)

    I'm using Acme PHP - Let's Encrypt client 1.0.0-dev. Any version without this issue?
    Thank you!

    Titouan Galopin
    @tgalopin
    @TheJoin95 That's a known issue but I don't know why it's occuring
    I'm not able to reproduce it myself, it seems authorizations expires now when they didn't a few months ago
    Miki
    @TheJoin95
    Any news? Can I help you somehow?
    Marcel Riedlinger
    @riddl
    hey! just wondering if there is any docu for the config file syntax - e.g. for a custom cert path?
    Tererero
    @tererero
    Hi, do you know if Acme PHP supports IPv6
    Nik
    @Vorake_twitter
    Hi All! Is there any laravel wrapper integration?
    Titouan Galopin
    @tgalopin
    hello @Vorake_twitter,
    there is no wrapper, but using the Core library should be possible without too much issue from Laravel
    johnmarchi
    @johnmarchi
    I'm not able to run the command
    php acmephp.phar request "domain">log.txt
    from the Windows Task Scheduler unless I am currently logged in to the computer. Even with the Task Scheduler set up to 'Run whether user is logged on or not', or whether or not I check the 'Do not store password' box or whether or not I check the 'Run with highest privileges' box.
    Is there anything in the acmephp.phar that would directly try to output to an interactive session? My guess would be 'no' since I am redirecting output to a file.
    There is a section titled "So, how does this isolation prevent my task from running?" at the following link that talks about the issue: process isolation
    Any suggestions? I've tried running the command with -vvv but it gives nothing useful.
    Jasper Frumau
    @jasperf
    @Vorake_twitter I was looking for a Laravel implementation as well. Let me know what you managed to work out
    Ah I see @tgalopin answered the question. Do think an implementation should not be too hard either, but if someone knows of a Laravel Package do let me know
    Felix Woldt
    @fwoldt
    one question - i am a little bit confusing between the README on https://github.com/acmephp/acmephp where you can set all certifaction infos in a yml config file and use the 'run' command acmephp run path-to-config.yml - but on the official documentation page https://acmephp.github.io/ i can't find anything about the run command - and a command 'php acmephp.phar run' run is not found - can someone help me out ? i like the idea to store all certinfos in a yml file and only run one command that do all for me - thank's for any help