Programster's Blog

Tutorials focusing on Linux, programming, and open-source

ACME PHP - Registration

After having installed ACME PHP, we need to register. Registering generates a global private key (account key) that will be used for future exchanges with Let's Encrypt to prove your identity.

Steps

Run the following command to register your account which will be tied to your email address.

php acmephp.phar register youremail@example.com

This command can take a while to complete, and may appear to be doing nothing for a noticeable amount of time. Don't panic and just be patient. Eventually you will see:

Account registered successfully!

A Note On Using Multiple Accounts

Even though I ran this from within a custom install location, it will always create a default configuration file at the location ~.acmephp/acmephp.conf and a key pair at ~/.acmephp/master/private/_account. Thus if you need to achieve full separation between two accounts (such as work and personal), you may wish to create two different users on your system and run the commands in the two different accounts.

Indeed, when I tried to first register my personal email for my personal accounts, it worked successfully, but when I then tried to register my work email for my work accounts and domains, I got:

[AcmePhp\Core\Exception\Server\MalformedServerException]                                                             
[malformed] The request message was malformed: Registration key is already in use (on request "POST https://acme-v0  
1.api.letsencrypt.org/acme/new-reg")                                                                                 



[GuzzleHttp\Exception\ClientException]                                                                         
Client error: `POST https://acme-v01.api.letsencrypt.org/acme/new-reg` resulted in a `409 Conflict` response:  
{                                                                                                              
  "type": "urn:acme:error:malformed",                                                                          
  "detail": "Registration key is already in use",                                                              
  "status": 409                                                                                                
}  

Conclusion

You have now created your account key. Lets go generate some certificates by first proving we own a domain.

References