Error message running ./letsencrypt-auto

Dang it all, I get another error again.

./letsencrypt-auto certonly --test-cert --standalone --email my_email@JetBBS.com -d cpanel.JetBBS.com -d whm.JetBBS.com -d webmail.JetBBS.com -d webdisk.JetBBS.com -d cpcalendars.JetBBS.com -d cpcontacts.JetBBS.com -d JetBBS.com -d www.JetBBS.com
Updating letsencrypt and virtual environment dependencies......
Requesting root privileges to run with virtualenv: /root/.local/share/letsencrypt/bin/letsencrypt certonly --test-cert --standalone --email my_email@JetBBS.com -d cpanel.JetBBS.com -d whm.JetBBS.com -d webmail.JetBBS.com -d webdisk.JetBBS.com -d cpcalendars.JetBBS.com -d cpcontacts.JetBBS.com -d JetBBS.com -d www.JetBBS.com
Version: 1.1-20080819
Version: 1.1-20080819

An unexpected error occurred:
UnexpectedUpdate: AuthorizationResource(body=Authorization(status=Status(pending), challenges=(ChallengeBody(chall=UnrecognizedChallenge(), status=Status(pending), validated=None, uri=u'https://acmestaging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035308', error=None),ChallengeBody(chall=TLSSNI01(token='+\xd8\xe6\xd4\x95\x8c[)\x10s\x1b\x08@\xc3\x98a\xc2~\xa6\x97\xbe4\xb5\x1b\xe9Hgw\xc2\xff\x93\xd6'), status=Status(pending), validated=None, uri=u'https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035309', error=None), ChallengeBody(chall=HTTP01(token="\x96\xed\x86*\xdeEI\\\xab\x82\xb4\xb1*\x12jf\xed\xebc\x88-.\xfc?\x98\x9cQ\xd4\x07)'?"), status=Status(pending), validated=None, uri=u'https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035310', error=None)), identifier=Identifier(typ=IdentifierType(dns), value=u'cpanel.jetbbs.com'),expires=datetime.datetime(2016, 1, 27, 3, 12, 22, 975842, tzinfo=<UTC>), combinations=((2,), (1,), (0,))), new_cert_uri='https://acme-staging.api.letsencrypt.org/acme/new-cert', uri='https://acme-staging.api.letsencrypt.org/acme/authz/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38')
Please see the logfiles in /var/log/letsencrypt for more details.

And here’s the log file /var/log/letsencrypt

2016-01-20 03:11:42,742:DEBUG:letsencrypt.cli:Root logging level set at 30
2016-01-20 03:11:42,743:INFO:letsencrypt.cli:Saving debug log to /var/log/letsencrypt/letsencrypt.log
2016-01-20 03:11:42,744:DEBUG:letsencrypt.cli:letsencrypt version: 0.2.0
2016-01-20 03:11:42,744:DEBUG:letsencrypt.cli:Arguments: ['--test-cert', '--standalone', '--email', 'my_email@JetBBS.com', '-d', 'cpanel.JetBBS.com', '-d', 'whm.JetBBS.com', '-d', 'webmail.JetBBS.com', '-d', 'webdisk.JetBBS.com', '-d', 'cpcalendars.JetBBS.com', '-d', 'cpcontacts.JetBBS.com', '-d', 'JetBBS.com', '-d', 'www.JetBBS.com']
2016-01-20 03:11:42,745:DEBUG:letsencrypt.cli:Discovered plugins: PluginsRegistry(PluginEntryPoint#apache,PluginEntryPoint#webroot,PluginEntryPoint#null,PluginEntryPoint#manual,PluginEntryPoint#standalone)
2016-01-20 03:11:42,753:DEBUG:letsencrypt.cli:Requested authenticator standalone and installer None
2016-01-20 03:11:42,838:DEBUG:letsencrypt.display.ops:Single candidate plugin: * standalone
Description: Automatically use a temporary webserver
Interfaces: IAuthenticator, IPlugin
Entry point: standalone = letsencrypt.plugins.standalone:Authenticator
Initialized: <letsencrypt.plugins.standalone.Authenticator object at 0x7fb54d02ed10>
Prep: True
2016-01-20 03:11:42,839:DEBUG:letsencrypt.cli:Selected authenticator <letsencrypt.plugins.standalone.Authenticator object at 0x7fb54d02ed10> and installer None
2016-01-20 03:11:42,980:DEBUG:root:Sending GET request to https://acme-staging.api.letsencrypt.org/directory. args: (), kwargs: {}
2016-01-20 03:11:42,985:INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): acme-staging.api.letsencrypt.org
2016-01-20 03:11:43,234:DEBUG:requests.packages.urllib3.connectionpool:"GET /directory HTTP/1.1" 200 279
2016-01-20 03:11:43,237:DEBUG:root:Received <Response [200]>. Headers: {'Content-Length': '279', 'Strict-Transport-Security': 'max-age=604800', 'Server': 'nginx', 'Connection': 'keep-alive', 'Date': 'Wed, 20 Jan 2016 03:11:43 GMT', 'X-Frame-Options': 'DENY', 'Content-Type': 'application/json', 'Replay-Nonce': 'WPm7vuNARFxHvYUtQMVCAc1S-PJ7Q-rrt8G4A6e5an4'}. Content: '{"new-authz":"https://acme-staging.api.letsencrypt.org/acme/new-authz","new-cert":"https://acme-staging.api.letsencrypt.org/acme/new-cert","new-reg":"https://acme-staging.api.letsencrypt.org/acme/new-reg","revoke-cert":"https://acme-staging.api.letsencrypt.org/acme/revoke-cert"}'
2016-01-20 03:11:43,237:DEBUG:acme.client:Received response <Response [200]> (headers: {'Content-Length': '279', 'Strict-Transport-Security': 'max-age=604800', 'Server': 'nginx', 'Connection': 'keep-alive', 'Date': 'Wed, 20 Jan 2016 03:11:43 GMT', 'X-Frame-Options': 'DENY', 'Content-Type': 'application/json', 'Replay-Nonce': 'WPm7vuNARFxHvYUtQMVCAc1S-PJ7Q-rrt8G4A6e5an4'}): '{"new-authz":"https://acme-staging.api.letsencrypt.org/acme/new-authz","new-cert":"https://acme-staging.api.letsencrypt.org/acme/new-cert","new-reg":"https://acme-staging.api.letsencrypt.org/acme/new-reg","revoke-cert":"https://acme-staging.api.letsencrypt.org/acme/revoke-cert"}'
2016-01-20 03:11:43,237:DEBUG:root:Requesting fresh nonce
2016-01-20 03:11:43,238:DEBUG:root:Sending HEAD request to https://acme-staging.api.letsencrypt.org/acme/new-reg. args: (), kwargs: {}
2016-01-20 03:11:43,239:INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): acme-staging.api.letsencrypt.org
2016-01-20 03:11:43,546:DEBUG:requests.packages.urllib3.connectionpool:"HEAD /acme/new-reg HTTP/1.1" 405 0
2016-01-20 03:11:43,548:DEBUG:root:Received <Response [405]>. Headers: {'Content-Length': '78', 'Server': 'nginx', 'Connection': 'keep-alive', 'Allow': 'POST', 'Date': 'Wed, 20 Jan 2016 03:11:43 GMT', 'Content-Type': 'application/problem+json', 'Replay-Nonce': 'daDEV7zcfh758-zzGsZOuzSx8OUADdjCPjBGsNk0v14'}. Content: ''
2016-01-20 03:11:43,549:DEBUG:acme.client:Storing nonce: 'u\xa0\xc4W\xbc\xdc~\x1e\xf9\xf3\xec\xf3\x1a\xc6N\xbb4\xb1\xf0\xe5\x00\r\xd8\xc2>0F\xb0\xd94\xbf^'
2016-01-20 03:11:43,550:DEBUG:acme.jose.json_util:Omitted empty fields: agreement=None, certificates=None, authorizations=None, key=None
2016-01-20 03:11:43,550:DEBUG:acme.client:Serialized JSON: {"contact": ["mailto:my_email@JetBBS.com"], "resource": "new-reg"}
2016-01-20 03:11:43,551:DEBUG:acme.jose.json_util:Omitted empty fields: cty=None, x5t=None, crit=(), x5tS256=None, x5u=None, x5c=(), alg=None, jku=None, typ=None, kid=None, jwk=None
2016-01-20 03:11:43,554:DEBUG:acme.jose.json_util:Omitted empty fields: cty=None, x5t=None, crit=(), x5tS256=None, x5u=None, x5c=(), jku=None, typ=None, nonce=None, kid=None
2016-01-20 03:11:43,554:DEBUG:root:Sending POST request to https://acme-staging.api.letsencrypt.org/acme/new-reg. args: (), kwargs: {'data': '{"header": {"alg": "RS256", "jwk": {"e": "AQAB", "kty": "RSA", "n": "tv7svNlmAQtPbEGLjgFK1fQUm-8N3mGdsVtcjgJlu1Fu9_cJLwP2hSRofVSMQCki5qqwHlIs5_uO0LrwnRtyUhVGSC0kvFjTUZOOcuFjBtFA-HlvoTaPUzlY2ZxuCXHuH_ZpQo0fUcqttB4zmnVWFzUyjoqYP7WE8DMfkLn3UI8VVKsEg03XTwObeLnpElUi262gVEpWeIiDYQgFnL9eNMoUIUPUlTmlmgQcwbKHU2uAvOPoQLSTK69Yg2qGW4NoavMszqJ_be_sjzbkBtGRtupvbyijXJL8yo0JU7a0sj98wkbGyaHhtjbtU_4DkAlePYCv_76BPdoIRxLvp2AJxQ"}}, "protected": "eyJub25jZSI6ICJkYURFVjd6Y2ZoNzU4LXp6R3NaT3V6U3g4T1VBRGRqQ1BqQkdzTmswdjE0In0", "payload": "eyJjb250YWN0IjogWyJtYWlsdG86U3BvcmtTY2hpdmFnb0BKZXRCQlMuY29tIl0sICJyZXNvdXJjZSI6ICJuZXctcmVnIn0", "signature": "aJArXhk6r3NnhHk19kLpVj9Y9onctACQu8qefFtrXqdFI6u1hXK76xDkKE4P7aNLObAfMde16ZBDUdPPuQQNwP8l7zogYXZUGRNdDiuue46jGk7kE8gGQom1v0Oy1NjqPaZYnjJHcKZJh0w8oLurf-615BtJY36e-B4AyNs3C56--BGTke-n-hePjJb2esBLjbv5oHmyNm7EDxMrqIOeWJlpYUnmMCreDFd6UrV7r0fiVNccBk9mZZR_1NZOa_nAF8kMYSJHdrV52b3ovWHbPrEL5H28bFCj0eThAsW0Z25ZGYT_IGgzrO-7_xltaOpwhjFYD46x9u4cYn1NhoHkIw"}'}
2016-01-20 03:11:43,555:INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): acme-staging.api.letsencrypt.org
2016-01-20 03:11:44,363:DEBUG:requests.packages.urllib3.connectionpool:"POST /acme/new-reg HTTP/1.1" 201 514
2016-01-20 03:11:44,365:DEBUG:root:Received <Response [201]>. Headers: {'Content-Length': '514', 'Strict-Transport-Security': 'max-age=604800', 'Server': 'nginx', 'Connection': 'keep-alive', 'Link': '<https://acme-staging.api.letsencrypt.org/acme/new-authz>;rel="next", <https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf>;rel="terms-of-service"', 'Location': 'https://acme-staging.api.letsencrypt.org/acme/reg/112808', 'Date': 'Wed, 20 Jan 2016 03:11:44 GMT', 'X-Frame-Options': 'DENY', 'Content-Type': 'application/json', 'Replay-Nonce': 'PVm-Rb_ZD6bZLM1CBhfSZiFNCQVbtV8bs3XxrlrOyX0'}. Content: '{"id":112808,"key":{"kty":"RSA","n":"tv7svNlmAQtPbEGLjgFK1fQUm-8N3mGdsVtcjgJlu1Fu9_cJLwP2hSRofVSMQCki5qqwHlIs5_uO0LrwnRtyUhVGSC0kvFjTUZOOcuFjBtFA-HlvoTaPUzlY2ZxuCXHuH_ZpQo0fUcqttB4zmnVWFzUyjoqYP7WE8DMfkLn3UI8VVKsEg03XTwObeLnpElUi262gVEpWeIiDYQgFnL9eNMoUIUPUlTmlmgQcwbKHU2uAvOPoQLSTK69Yg2qGW4NoavMszqJ_be_sjzbkBtGRtupvbyijXJL8yo0JU7a0sj98wkbGyaHhtjbtU_4DkAlePYCv_76BPdoIRxLvp2AJxQ","e":"AQAB"},"contact":["mailto:my_email@JetBBS.com"],"initialIp":"104.238.117.105","createdAt":"2016-01-20T03:11:44.330346928Z"}'
2016-01-20 03:11:44,366:DEBUG:acme.client:Storing nonce: '=Y\xbeE\xbf\xd9\x0f\xa6\xd9,\xcdB\x06\x17\xd2f!M\t\x05[\xb5_\x1b\xb3u\xf1\xaeZ\xce\xc9}'
2016-01-20 03:11:44,366:DEBUG:acme.client:Received response <Response [201]> (headers: {'Content-Length': '514', 'Strict-Transport-Security': 'max-age=604800', 'Server': 'nginx', 'Connection': 'keep-alive', 'Link': '<https://acme-staging.api.letsencrypt.org/acme/new-authz>;rel="next", <https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf>;rel="terms-of-service"', 'Location': 'https://acme-staging.api.letsencrypt.org/acme/reg/112808', 'Date': 'Wed, 20 Jan 2016 03:11:44 GMT', 'X-Frame-Options': 'DENY', 'Content-Type': 'application/json', 'Replay-Nonce': 'PVm-Rb_ZD6bZLM1CBhfSZiFNCQVbtV8bs3XxrlrOyX0'}): '{"id":112808,"key":{"kty":"RSA","n":"tv7svNlmAQtPbEGLjgFK1fQUm-8N3mGdsVtcjgJlu1Fu9_cJLwP2hSRofVSMQCki5qqwHlIs5_uO0LrwnRtyUhVGSC0kvFjTUZOOcuFjBtFA-HlvoTaPUzlY2ZxuCXHuH_ZpQo0fUcqttB4zmnVWFzUyjoqYP7WE8DMfkLn3UI8VVKsEg03XTwObeLnpElUi262gVEpWeIiDYQgFnL9eNMoUIUPUlTmlmgQcwbKHU2uAvOPoQLSTK69Yg2qGW4NoavMszqJ_be_sjzbkBtGRtupvbyijXJL8yo0JU7a0sj98wkbGyaHhtjbtU_4DkAlePYCv_76BPdoIRxLvp2AJxQ","e":"AQAB"},"contact":["mailto:my_email@JetBBS.com"],"initialIp":"104.238.117.105","createdAt":"2016-01-20T03:11:44.330346928Z"}'
2016-01-20 03:12:22,599:DEBUG:acme.jose.json_util:Omitted empty fields: certificates=None, authorizations=None
2016-01-20 03:12:22,600:DEBUG:acme.client:Serialized JSON: {"contact": ["mailto:my_email@JetBBS.com"], "resource": "reg", "agreement": "https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf", "key": {"e": "AQAB", "kty": "RSA", "n": "tv7svNlmAQtPbEGLjgFK1fQUm-8N3mGdsVtcjgJlu1Fu9_cJLwP2hSRofVSMQCki5qqwHlIs5_uO0LrwnRtyUhVGSC0kvFjTUZOOcuFjBtFA-HlvoTaPUzlY2ZxuCXHuH_ZpQo0fUcqttB4zmnVWFzUyjoqYP7WE8DMfkLn3UI8VVKsEg03XTwObeLnpElUi262gVEpWeIiDYQgFnL9eNMoUIUPUlTmlmgQcwbKHU2uAvOPoQLSTK69Yg2qGW4NoavMszqJ_be_sjzbkBtGRtupvbyijXJL8yo0JU7a0sj98wkbGyaHhtjbtU_4DkAlePYCv_76BPdoIRxLvp2AJxQ"}}
2016-01-20 03:12:22,601:DEBUG:acme.jose.json_util:Omitted empty fields: cty=None, x5t=None, crit=(), x5tS256=None, x5u=None, x5c=(), alg=None, jku=None, typ=None, kid=None, jwk=None
2016-01-20 03:12:22,603:DEBUG:acme.jose.json_util:Omitted empty fields: cty=None, x5t=None, crit=(), x5tS256=None, x5u=None, x5c=(), jku=None, typ=None, nonce=None, kid=None
2016-01-20 03:12:22,603:DEBUG:root:Sending POST request to https://acme-staging.api.letsencrypt.org/acme/reg/112808. args: (), kwargs: {'data': '{"header": {"alg": "RS256", "jwk": {"e": "AQAB", "kty": "RSA", "n": "tv7svNlmAQtPbEGLjgFK1fQUm-8N3mGdsVtcjgJlu1Fu9_cJLwP2hSRofVSMQCki5qqwHlIs5_uO0LrwnRtyUhVGSC0kvFjTUZOOcuFjBtFA-HlvoTaPUzlY2ZxuCXHuH_ZpQo0fUcqttB4zmnVWFzUyjoqYP7WE8DMfkLn3UI8VVKsEg03XTwObeLnpElUi262gVEpWeIiDYQgFnL9eNMoUIUPUlTmlmgQcwbKHU2uAvOPoQLSTK69Yg2qGW4NoavMszqJ_be_sjzbkBtGRtupvbyijXJL8yo0JU7a0sj98wkbGyaHhtjbtU_4DkAlePYCv_76BPdoIRxLvp2AJxQ"}}, "protected": "eyJub25jZSI6ICJQVm0tUmJfWkQ2YlpMTTFDQmhmU1ppRk5DUVZidFY4YnMzWHhybHJPeVgwIn0", "payload": "eyJjb250YWN0IjogWyJtYWlsdG86U3BvcmtTY2hpdmFnb0BKZXRCQlMuY29tIl0sICJyZXNvdXJjZSI6ICJyZWciLCAiYWdyZWVtZW50IjogImh0dHBzOi8vbGV0c2VuY3J5cHQub3JnL2RvY3VtZW50cy9MRS1TQS12MS4wLjEtSnVseS0yNy0yMDE1LnBkZiIsICJrZXkiOiB7ImUiOiAiQVFBQiIsICJrdHkiOiAiUlNBIiwgIm4iOiAidHY3c3ZObG1BUXRQYkVHTGpnRksxZlFVbS04TjNtR2RzVnRjamdKbHUxRnU5X2NKTHdQMmhTUm9mVlNNUUNraTVxcXdIbElzNV91TzBMcnduUnR5VWhWR1NDMGt2RmpUVVpPT2N1RmpCdEZBLUhsdm9UYVBVemxZMlp4dUNYSHVIX1pwUW8wZlVjcXR0QjR6bW5WV0Z6VXlqb3FZUDdXRThETWZrTG4zVUk4VlZLc0VnMDNYVHdPYmVMbnBFbFVpMjYyZ1ZFcFdlSWlEWVFnRm5MOWVOTW9VSVVQVWxUbWxtZ1Fjd2JLSFUydUF2T1BvUUxTVEs2OVlnMnFHVzROb2F2TXN6cUpfYmVfc2p6YmtCdEdSdHVwdmJ5aWpYSkw4eW8wSlU3YTBzajk4d2tiR3lhSGh0amJ0VV80RGtBbGVQWUN2Xzc2QlBkb0lSeEx2cDJBSnhRIn19", "signature": "OI2HsSh_W7FHV52ZcAe5aQtunUwRbD8MLZ5zBzIdV1eqaMDy6j-dmRXyTFVx8DcBKMV7zr5u1MfNFprQCtVDWt7jLZU9eKjqkdCTRppbBGqwQ9sJFAZRAw_jIM7P860lFu5lmDmT8pz5Imo7bf1aA2opLsBsn9KdgIVkfVrz9MWrEDgARfy8wIhBhc0s9_9oLAsocvELvXttYxcxwMzT1v2GBS5tPiEuDb35XXjrZ3Hsk0HhrAnpSoS7w-yL-POEEhiyomdQUQzaQvy1ulPr4ccT2nh4chE7rkHwSBOcJIg3S2woTITFlS7DRpvfiwXIT4McNIIvc5dFOS9eDyzhkw"}'}
2016-01-20 03:12:22,605:INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): acme-staging.api.letsencrypt.org
2016-01-20 03:12:22,727:DEBUG:requests.packages.urllib3.connectionpool:"POST /acme/reg/112808 HTTP/1.1" 202 582
2016-01-20 03:12:22,730:DEBUG:root:Received <Response [202]>. Headers: {'Content-Length': '582', 'Server': 'nginx', 'Connection': 'keep-alive', 'Link': '<https://acme-staging.api.letsencrypt.org/acme/new-authz>;rel="next", <https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf>;rel="terms-of-service"', 'Date': 'Wed, 20 Jan 2016 03:12:22 GMT', 'Content-Type': 'application/json', 'Replay-Nonce': 'r_vUGkeNehmdveV9Xhs8bt7RufkrcmWVo38t9mqf91s'}. Content: '{"id":112808,"key":{"kty":"RSA","n":"tv7svNlmAQtPbEGLjgFK1fQUm-8N3mGdsVtcjgJlu1Fu9_cJLwP2hSRofVSMQCki5qqwHlIs5_uO0LrwnRtyUhVGSC0kvFjTUZOOcuFjBtFA-HlvoTaPUzlY2ZxuCXHuH_ZpQo0fUcqttB4zmnVWFzUyjoqYP7WE8DMfkLn3UI8VVKsEg03XTwObeLnpElUi262gVEpWeIiDYQgFnL9eNMoUIUPUlTmlmgQcwbKHU2uAvOPoQLSTK69Yg2qGW4NoavMszqJ_be_sjzbkBtGRtupvbyijXJL8yo0JU7a0sj98wkbGyaHhtjbtU_4DkAlePYCv_76BPdoIRxLvp2AJxQ","e":"AQAB"},"contact":["mailto:my_email@JetBBS.com"],"agreement":"https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf","initialIp":"104.238.117.105","createdAt":"2016-01-20T03:11:44Z"}'
2016-01-20 03:12:22,731:DEBUG:acme.client:Storing nonce: '\xaf\xfb\xd4\x1aG\x8dz\x19\x9d\xbd\xe5}^\x1b<n\xde\xd1\xb9\xf9+re\x95\xa3\x7f-\xf6j\x9f\xf7['
2016-01-20 03:12:22,731:DEBUG:acme.client:Received response <Response [202]> (headers: {'Content-Length': '582', 'Server': 'nginx', 'Connection': 'keep-alive', 'Link': '<https://acme-staging.api.letsencrypt.org/acme/new-authz>;rel="next", <https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf>;rel="terms-of-service"', 'Date': 'Wed, 20 Jan 2016 03:12:22 GMT', 'Content-Type': 'application/json', 'Replay-Nonce': 'r_vUGkeNehmdveV9Xhs8bt7RufkrcmWVo38t9mqf91s'}): '{"id":112808,"key":{"kty":"RSA","n":"tv7svNlmAQtPbEGLjgFK1fQUm-8N3mGdsVtcjgJlu1Fu9_cJLwP2hSRofVSMQCki5qqwHlIs5_uO0LrwnRtyUhVGSC0kvFjTUZOOcuFjBtFA-HlvoTaPUzlY2ZxuCXHuH_ZpQo0fUcqttB4zmnVWFzUyjoqYP7WE8DMfkLn3UI8VVKsEg03XTwObeLnpElUi262gVEpWeIiDYQgFnL9eNMoUIUPUlTmlmgQcwbKHU2uAvOPoQLSTK69Yg2qGW4NoavMszqJ_be_sjzbkBtGRtupvbyijXJL8yo0JU7a0sj98wkbGyaHhtjbtU_4DkAlePYCv_76BPdoIRxLvp2AJxQ","e":"AQAB"},"contact":["mailto:my_email@JetBBS.com"],"agreement":"https://letsencrypt.org/documents/LE-SA-v1.0.1-July-27-2015.pdf","initialIp":"104.238.117.105","createdAt":"2016-01-20T03:11:44Z"}'
2016-01-20 03:12:22,735:INFO:letsencrypt.reporter:Reporting to user: Your account credentials have been saved in your Let's Encrypt configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Let's Encrypt so making regular backups of this folder is ideal.
2016-01-20 03:12:22,735:INFO:letsencrypt.reporter:Reporting to user: If you lose your account credentials, you can recover through e-mails sent to my_email@JetBBS.com.
2016-01-20 03:12:22,736:DEBUG:acme.jose.json_util:Omitted empty fields: certificates=None, authorizations=None
2016-01-20 03:12:22,737:DEBUG:letsencrypt.cli:Picked account: <Account(d861e9290835e840d3f3ab9ccd6294cf)>
2016-01-20 03:12:22,860:INFO:letsencrypt.crypto_util:Generating key (2048 bits): /etc/letsencrypt/keys/0000_key-letsencrypt.pem
2016-01-20 03:12:22,863:INFO:letsencrypt.crypto_util:Creating CSR: /etc/letsencrypt/csr/0000_csr-letsencrypt.pem
2016-01-20 03:12:22,863:DEBUG:letsencrypt.client:CSR: CSR(file='/etc/letsencrypt/csr/0000_csr-letsencrypt.pem', data='0\x82\x03\x190\x82\x02\x01\x02\x000\x1c1\x1a0\x18\x06\x03U\x04\x03\x0c\x11cpanel.JetBBS.com0\x82\x01"0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x01\x05\x00\x03\x82\x01\x0f\x000\x82\x01\n\x02\x82\x01\x01\x00\xe1\xec\xfc\x18\x12\xcc\r}4\xad\xd1\xd7q\xd1\xdfY\x81\xa4\x0c`\xf3\xa3f\xf7\x89}\x9c\xb12#\x88\xcc\xb7\xf6|\xd0\x85Knk\x87\x9a\xde6\xb21\x8c^f[[\xe7\x1a<\x03Sk\xdfB\x99\xbd\xfc\xad\x82\xe30\xa7Pe\xe3+\x83Dp@\x7f\x9d\xd0c\x9a\xa6\xca?\x82r\x8dJx\xf4\xf9m\xc6\x89\x0e\x0eH\xfe\xeeOg\x90A\xcb\xbb\xa5\x0e\xb4\xb7\x9fQ\xc1\xcfe\xb1vm\xc1<\xa7\xc9\x9d%\xfd3\x1d\xa9\xe4e\xc5\xe7\'\x94(yP\xb8oSV"%\x9f\xe9A\x01\x8c\xd1\xabnq\xa2\xef@o=\xb9\x18\x1e\x1fc\x04\x8fIG\xb0jTS\xe4)\xc96\xbb\xb7\xf8\x06\x16n^\xbc\x15\x08`\xb8\x02\xc1\xb5\x0f\'\xfa\r\xb5zx\xaf\xd4\xfc\x89\r\xba\xfb\x86\xa5\xa67\xa0\x8d2\xed\xa3\x0f\xf8\xd5\r|\xd02X\x89O\xd0\x1e\x19j\xa5\xe3* (\xb1\x02\n^\x1e7\xef\xfc\x12C\xe1A\xc3\xa2\x8d\xa6\'xfjoz\x95\x07"1\xbd\x02\x03\x01\x00\x01\xa0\x81\xb80\x81\xb5\x06\t*\x86H\x86\xf7\r\x01\t\x0e1\x81\xa70\x81\xa40\x81\xa1\x06\x03U\x1d\x11\x04\x81\x990\x81\x96\x82\x11cpanel.JetBBS.com\x82\x0ewhm.JetBBS.com\x82\x12webmail.JetBBS.com\x82\x12webdisk.JetBBS.com\x82\x16cpcalendars.JetBBS.com\x82\x15cpcontacts.JetBBS.com\x82\nJetBBS.com\x82\x0ewww.JetBBS.com0\r\x06\t*\x86H\x86\xf7\r\x01\x01\x0b\x05\x00\x03\x82\x01\x01\x00nUre\xa0!\x99|xk\xbd\xad\x89\x08\x1f\xc8\xf6\\uY\xb0\x9e`\xcb\x9e\xfaEP\x01\x9a`\xb0L\xd4\x03\xb5C\x8b \x11\xa8*\x95\x03\xc9vQ\x97\xdb\x12\x0c\x0b\x8d\xa9\xb8\xd3\x9a\xc5J\x8b\x01\x85G\xbe\x9dE\xb8\xdd\xe5\x10\x98\r\xfdMY\x94E\xf5ct\xad\x82OkP\x88\xf3\x14\xee}[|-N\xaa\xef\xef\xf9\xb6\xf4\x95\x85I\xc79\xb9\xdb\xdb2&T\x7f\x82#\xc6RO\xe5\xfai\x1e$!\x9b\xa6\xe6\xde\xdcQ\xa5V\x13\xb9\x04\x1bW\x92\x16\x8e\x11\xd7\x84\xedp>\xe5\x9cV\x04\x9d\x95\x11\xee\xaa\x19\xe6\xab?Q-Z\xd2\xeaL\xe1,\rY\x84&\x8bZ\xb4\xba\x95\xa9\xb3\x19\x10Q#5\xdchg^k\xcd\r\xec\xb9-\xcc;`x\xfa\x1fq\x10\x84\xf2\xcf\x0b\xb3[\x7fM>.%M\x03\x11A \x0boG\x893&7K\xd2\xcd\x1e,\xd0"\x9dW\x87\n!\xf6Tq\xea\xc6-\x83\xc5\x7f fs\xc9\xe3\xd9\xc8\x0b\xd9\xa2\xed\xfe', form='der'), domains: ['cpanel.JetBBS.com', 'whm.JetBBS.com', 'webmail.JetBBS.com', 'webdisk.JetBBS.com', 'cpcalendars.JetBBS.com', 'cpcontacts.JetBBS.com', 'JetBBS.com', 'www.JetBBS.com']
2016-01-20 03:12:22,864:DEBUG:acme.jose.json_util:Omitted empty fields: status=None, combinations=None, expires=None, challenges=None
2016-01-20 03:12:22,864:DEBUG:acme.client:Serialized JSON: {"identifier": {"type": "dns", "value": "cpanel.JetBBS.com"}, "resource": "new-authz"}
2016-01-20 03:12:22,865:DEBUG:acme.jose.json_util:Omitted empty fields: cty=None, x5t=None, crit=(), x5tS256=None, x5u=None, x5c=(), alg=None, jku=None, typ=None, kid=None, jwk=None
2016-01-20 03:12:22,868:DEBUG:acme.jose.json_util:Omitted empty fields: cty=None, x5t=None, crit=(), x5tS256=None, x5u=None, x5c=(), jku=None, typ=None, nonce=None, kid=None
2016-01-20 03:12:22,868:DEBUG:root:Sending POST request to https://acme-staging.api.letsencrypt.org/acme/new-authz. args: (), kwargs: {'data': '{"header": {"alg": "RS256", "jwk": {"e": "AQAB", "kty": "RSA", "n": "tv7svNlmAQtPbEGLjgFK1fQUm-8N3mGdsVtcjgJlu1Fu9_cJLwP2hSRofVSMQCki5qqwHlIs5_uO0LrwnRtyUhVGSC0kvFjTUZOOcuFjBtFA-HlvoTaPUzlY2ZxuCXHuH_ZpQo0fUcqttB4zmnVWFzUyjoqYP7WE8DMfkLn3UI8VVKsEg03XTwObeLnpElUi262gVEpWeIiDYQgFnL9eNMoUIUPUlTmlmgQcwbKHU2uAvOPoQLSTK69Yg2qGW4NoavMszqJ_be_sjzbkBtGRtupvbyijXJL8yo0JU7a0sj98wkbGyaHhtjbtU_4DkAlePYCv_76BPdoIRxLvp2AJxQ"}}, "protected": "eyJub25jZSI6ICJyX3ZVR2tlTmVobWR2ZVY5WGhzOGJ0N1J1ZmtyY21XVm8zOHQ5bXFmOTFzIn0", "payload": "eyJpZGVudGlmaWVyIjogeyJ0eXBlIjogImRucyIsICJ2YWx1ZSI6ICJjcGFuZWwuSmV0QkJTLmNvbSJ9LCAicmVzb3VyY2UiOiAibmV3LWF1dGh6In0", "signature": "ryH3RazjNIl3MXSVaejQjyIAd7ZFDTicx_g6RIkUb6CV03L7H8eCStj5hz4szXXze_1t4KBGfk-GdkKMRhP4H0ypANKuKlRyojSB1JYt6ZHIjVSUZsaJw1iPCEyS6aYnGhu2yK_F_kWkC_mSbzhMKQtUnaXskbBexvpDJ_iSS7b7SmACKSVM2Iw2IzfSmLbYHu7sZQ9TUOuswTeZRc9KXOy4BMBUab5hR-40YRT3yKxz54oZB730oIBwR0fv-EXJPHQGOeP2bIsMVwUZzFhlLLx4JDuCyBZ93KJIJYoMJSFJluyXKzCoY1dsZgnmJ3eZWoCC9LADzKUnPVsJmgNHjA"}'}
2016-01-20 03:12:22,869:INFO:requests.packages.urllib3.connectionpool:Starting new HTTPS connection (1): acme-staging.api.letsencrypt.org
2016-01-20 03:12:23,016:DEBUG:requests.packages.urllib3.connectionpool:"POST /acme/new-authz HTTP/1.1" 201 789
2016-01-20 03:12:23,019:DEBUG:root:Received <Response [201]>. Headers: {'Content-Length': '789', 'Strict-Transport-Security': 'max-age=604800', 'Server': 'nginx', 'Connection': 'keep-alive', 'Link': '<https://acme-staging.api.letsencrypt.org/acme/new-cert>;rel="next"', 'Location': 'https://acme-staging.api.letsencrypt.org/acme/authz/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38', 'Date': 'Wed, 20 Jan 2016 03:12:23 GMT', 'X-Frame-Options': 'DENY', 'Content-Type': 'application/json', 'Replay-Nonce': 'MAGZsDSHVJWMnb5S9AirBycxh4q5F04z16K5-b_B2oI'}. Content: '{"identifier":{"type":"dns","value":"cpanel.jetbbs.com"},"status":"pending","expires":"2016-01-27T03:12:22.975842194Z","challenges":[{"type":"dns-01","status":"pending","uri":"https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035308","token":"o4iUicZ0fdx7PoEouE35MwBOTGeHT4mrc5qeupU_5U8"},{"type":"tls-sni-01","status":"pending","uri":"https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035309","token":"K9jm1JWMWykQcxsIQMOYYcJ-ppe-NLUb6Uhnd8L_k9Y"},{"type":"http-01","status":"pending","uri":"https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035310","token":"lu2GKt5FSVyrgrSxKhJqZu3rY4gtLvw_mJxR1AcpJz8"}],"combinations":[[2],[1],[0]]}'
2016-01-20 03:12:23,019:DEBUG:acme.client:Storing nonce: "0\x01\x99\xb04\x87T\x95\x8c\x9d\xbeR\xf4\x08\xab\x07'1\x87\x8a\xb9\x17N3\xd7\xa2\xb9\xf9\xbf\xc1\xda\x82"
2016-01-20 03:12:23,019:DEBUG:acme.client:Received response <Response [201]> (headers: {'Content-Length': '789', 'Strict-Transport-Security': 'max-age=604800', 'Server': 'nginx', 'Connection': 'keep-alive', 'Link': '<https://acme-staging.api.letsencrypt.org/acme/new-cert>;rel="next"', 'Location': 'https://acme-staging.api.letsencrypt.org/acme/authz/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38', 'Date': 'Wed, 20 Jan 2016 03:12:23 GMT', 'X-Frame-Options': 'DENY', 'Content-Type': 'application/json', 'Replay-Nonce': 'MAGZsDSHVJWMnb5S9AirBycxh4q5F04z16K5-b_B2oI'}): '{"identifier":{"type":"dns","value":"cpanel.jetbbs.com"},"status":"pending","expires":"2016-01-27T03:12:22.975842194Z","challenges":[{"type":"dns-01","status":"pending","uri":"https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035308","token":"o4iUicZ0fdx7PoEouE35MwBOTGeHT4mrc5qeupU_5U8"},{"type":"tls-sni-01","status":"pending","uri":"https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035309","token":"K9jm1JWMWykQcxsIQMOYYcJ-ppe-NLUb6Uhnd8L_k9Y"},{"type":"http-01","status":"pending","uri":"https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035310","token":"lu2GKt5FSVyrgrSxKhJqZu3rY4gtLvw_mJxR1AcpJz8"}],"combinations":[[2],[1],[0]]}'
2016-01-20 03:12:23,020:DEBUG:acme.challenges:dns-01 was not recognized, full message: {u'status': u'pending', u'token': u'o4iUicZ0fdx7PoEouE35MwBOTGeHT4mrc5qeupU_5U8', u'type': u'dns-01', u'uri': u'https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035308'}
2016-01-20 03:12:23,023:DEBUG:letsencrypt.cli:Exiting abnormally:
Traceback (most recent call last):
  File "/root/.local/share/letsencrypt/bin/letsencrypt", line 11, in <module>
    sys.exit(main())
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 1398, in main
    return args.func(args, config, plugins)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 600, in obtain_cert
    _auth_from_domains(le_client, config, domains)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/cli.py", line 404, in _auth_from_domains
    lineage = le_client.obtain_and_enroll_certificate(domains)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/client.py", line 283, in obtain_and_enroll_certificate
    certr, chain, key, _ = self.obtain_certificate(domains)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/client.py", line 266, in obtain_certificate
    return self._obtain_certificate(domains, csr) + (key, csr)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/client.py", line 224, in _obtain_certificate
    authzr = self.auth_handler.get_authorizations(domains)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/letsencrypt/auth_handler.py", line 74, in get_authorizations
    domain, self.account.regr.new_authzr_uri)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/client.py", line 215, in request_domain_challenges
    typ=messages.IDENTIFIER_FQDN, value=domain), new_authz_uri)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/client.py", line 198, in request_challenges
    return self._authzr_from_response(response, identifier)
  File "/root/.local/share/letsencrypt/lib/python2.7/site-packages/acme/client.py", line 179, in _authzr_from_response
    raise errors.UnexpectedUpdate(authzr)
UnexpectedUpdate: AuthorizationResource(body=Authorization(status=Status(pending), challenges=(ChallengeBody(chall=UnrecognizedChallenge(), status=Status(pending), validated=None, uri=u'https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035308', error=None), ChallengeBody(chall=TLSSNI01(token='+\xd8\xe6\xd4\x95\x8c[)\x10s\x1b\x08@\xc3\x98a\xc2~\xa6\x97\xbe4\xb5\x1b\xe9Hgw\xc2\xff\x93\xd6'), status=Status(pending), validated=None, uri=u'https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035309', error=None), ChallengeBody(chall=HTTP01(token="\x96\xed\x86*\xdeEI\\\xab\x82\xb4\xb1*\x12jf\xed\xebc\x88-.\xfc?\x98\x9cQ\xd4\x07)'?"), status=Status(pending), validated=None, uri=u'https://acme-staging.api.letsencrypt.org/acme/challenge/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38/1035310', error=None)), identifier=Identifier(typ=IdentifierType(dns), value=u'cpanel.jetbbs.com'), expires=datetime.datetime(2016, 1, 27, 3, 12, 22, 975842, tzinfo=<UTC>), combinations=((2,), (1,), (0,))), new_cert_uri='https://acme-staging.api.letsencrypt.org/acme/new-cert', uri='https://acme-staging.api.letsencrypt.org/acme/authz/H7PtCxT3YN11zU0SFyBsqXHSRcJde1SAp838Xzzjl38')

I replaced my real e-mail @JetBBS.com with my_email@JetBBS.com in the logs. I didn’t really use the e-mail address my_email.

Any ideas?

Okay, I think I figured it out. It might be a bug in the letsencrypt-auto program. I simplified things and simply used:

./letsencrypt-auto certonly --test-cert --standalone --email my_real_email@jetbbs.com -d www.JetBBS.com -d JetBBS.com

This fails with a similar error message. But when I change www.JetBBS.com and JetBBS.com to all lower case, www.jetbbs.com and jetbbs.com, it seems to not error out. Well, it makes it to a screen saying httpd was running on port 80 and I needed to stop it. So I believe it just doesn’t like the capitalized names. Is this a bug or do the domain names really need to be lower case? If they can only ever be lowercase, maybe the program could just convert all uppercase letters to lowercase letters.

Here is what I have done that works:
first: stop the httpd service: /sbin/service httpd stop
then cd to letsencrypt: cd letsencrypt
then issue the command:
./letsencrypt-auto certonly --server \https://acme-v01.api.letsencrypt.org/directory --debug
two things to note:
1- NO SPACE between the “” and the server name
2- Must have the --debug option

a dialog box will come up asking for your email address
and then a dialog box will come up asking for your domain names

Was successfull and now see the certs in the directory
/etc/letsencrypt/live/thedomainnameyouputinthedialogbox

Then I just mailed myself the fullchain.pem and privkey.pem files that letsencrypt-auto installed in the /etc/letsencrypt/live/mydomain.com directory
Then I used WHM (SSL/TLS Install an SSL Certificate on a Domain) to install the certificates. The top part of the fullchain.pem goes in the “Certificate” box, privkey.pem goes in the “Private Key” box and the bottom part of the fullchain.pem in the “Certificate Authority Bundle” box.

Quick question for ya boss. When you renew, are you going to have to manually add the SSL stuff back into WHM? I’ve automated my process and it seems to work fine, I don’t see the certs under manage certs though. But they are working and everything as expected.

Haven’t got to where I have to renew - so can’t answer that question quite yet. And you are right - you can not see the certs from WHM. When you enter “Insalll an SSL Certificate on a Domain” - I did not click on “Browse Certificates”, I just typed my domain in the “Domain” box, then pasted the certificate stuff into their respective boxes and clicked - “Install Certificate”.

Maybe not as smooth as it could be - but I can barely spell “Unix”, let alone automate it … but my domains now all have certificates and run under SSL

I have a VPS on Justhost,com

1 Like

I too have a VPS. I’m working on automating the process. I’ve got them installed for cPanel, WHM, my domain, webmail, etc. I was just curious as to if there was a way to get them to show up under WHM when I click on Manage certs or whatever it is.

For me, I didn’t have to use WHM / cPanel at all. Just modified a few files and that installed them for Apache and the virtual hosts. Still got a few other things to work out. I setup a crontab so it auto renews but I don’t think it’s working correctly, the auto renew.

I found a script that automatically adds the SSL’s to WHM and cPanel so you don’t have to manually do it like you were doing each time. It works good. However, I still had to tell WHM to use the new SSLs instead of the self-signed ones, for the various services, under (Service Configuration -> Manage Service SSL Certificates). At least it’s a start.

Once you get the crontab working I sure would appreciate it if you could add it to this topic.

1 Like

I believe I fixed the crontab problem. I just had to change the path variable for /etc/cron.d/dailyjobs (that crontab file calls the other crontab files). I won’t know for certain until tomorrow.

I did manage to also get the script to automatically install the SSL cert in WHM & cPanel, from the command prompt, so it can be automated. And then I modified the script I found to also install the certs for the various WHM services.

Calendar, cPanel, WebDisk, Webmail, and WHM Services
Dovecot Mail Server
Exim (SMTP) Server
FTP Server

Doing it this way was better, because I didn’t have to mess with the Apache httpd.conf file for the virtual hosts. I just used the WHM json API install_service_ssl_certificate function call.

I did have to create an SSL cert for my hostname.domain.com. I used WHM to name the host franklin. Then I created an SSL for franklin.jetbbs.com. I really question if I actually need the other certs I created now, the webmail.jetbbs.com, whm.jetbbs.com, cpanel.jetbbs.com, etc. I have a feeling franklin.jetbbs.com would of been enough for all the others.

The script to add the SSL cert to WHM and then the modifications to have it install the cert for the various services, I think that’s really important and something a lot of other people could benefit from, because it would allow full automation for the WHM / cPanel.

The only thing I don’t like though is how I have to still kill Apache before requesting new certs. I wish I could find away to not have to do that. Since I have production certs now, can I back them up and play with the test ones again? When it comes time for me to go back to production, can I just simply copy the real ones back to /etc/letsencrypt? Or would I have to use letsencrypt to generate new ones? If so, I’d like to play more with getting letsencrypt to work without needing to kill httpd.

Pineyscripter,

I added a little smaller version of it to a new topic I created The topic was called something like:

How to install Let’s Encrypt SSL certs for GoDaddy’s VPS / WHM / cPanel

It’s complete steps that I had to take to properly setup SSL certs for my GoDaddy VPS server, with the whole WHM / cPanel stuff too, so they’re recognized in the GUI. If you don’t have WHM or cPanel, you can just remove the installssl stuff. Let me know if you need anything else.