NetBurner 3.5.0
PDF Version
 
ACME Certificate Generation

Request valid public certificates from an ACME certificate authority for devices with a public IP and DNS. More...

Classes

class  AcmeServletObject
 Main ACME Client Class. More...
 
class  LetsEncryptAcmeServletObject
 ACME Client for Let's Encrypt. More...
 
class  BuyPassAcmeServletObject
 ACME Client for BuyPass. More...
 

Detailed Description

Request valid public certificates from an ACME certificate authority for devices with a public IP and DNS.

To use, you can simply specify these constants, NTP, and the ACME Servlet in your program, editing as desired:

const char * DEFAULT_CERT_ALT_NAMES= "test.example.com,test2.example.com"; // alt name is required
const char * DEFAULT_CERT_COM_NAME= "test.example.com";
const char * DEFAULT_CERT_EMAIL= "[email protected]";
NtpClientServlet ntp_client;

You have a choice of supported providers or a custom provider. Just add to your code:

Then for debugging you can add acme_client.SetDiag(true); to your UserMain()

If your device is accessible on the Internet at those DNS names, Let's Encrypt should automatically issue you a certificate within about a minute of boot.

The NetBurner Config system accepts changing the certificate data under "CertData". You can also provide it in the constructor:

AcmeServletObject acme_client("https://acme.example.com/dir");

EAB (External Account Binding) support is planned for the future, which paid providers like ZeroSSL, SSL.com and Google require.

See the ACME Certificate Generation (Easy Servlet) example for more details.