こちらのページにあることを別の環境で確認しました。
Let's Encryptに登録したメールアドレスを確認する方法と変更する方法おご教授いただきたいです。
Arch Linux
Ubuntu 20.04
Ubuntu 21.04
で確認しました。
get_email.py
# ! /usr/bin/python3
#
# get_email.py
#
# May/05/2021
# ------------------------------------------------------------------
import sys
from acme.client import ClientV2
from acme.client import ClientNetwork
from acme import messages
import josepy as jose
from glob import glob
# ------------------------------------------------------------------
sys.stderr.write("*** 開始 ***\n")
folder='/etc/letsencrypt/accounts/acme-v02.api.letsencrypt.org/directory/*'
#
try:
file_in = glob(folder + '/private_key.json')[0]
fp_in = open(file_in, 'rb')
json_str = fp_in.read()
fp_in.close()
key = jose.JWK.json_loads(json_str)
except Exception as ee:
sys.stderr.write("*** error *** private_key.json ***\n")
sys.stderr.write(str(ee) + "\n")
sys.stderr.write("Usage: sudo ./get_email.py\n")
exit(1)
#
try:
file_in = glob(folder + '/regr.json')[0]
fp_in = open(file_in, 'r')
json_str = fp_in.read()
fp_in.close()
regr = messages.RegistrationResource.json_loads(json_str)
except Exception as ee:
sys.stderr.write("*** error *** regr.json ***\n")
sys.stderr.write(str (ee))
sys.stderr.write("Usage: sudo ./get_email.py\n")
exit(1)
#
net = ClientNetwork(key)
directory = messages.Directory.from_json(net.get("https://acme-v02.api.letsencrypt.org/directory").json())
client = ClientV2(directory, net)
client.net.account = regr
resp = client._post(regr.uri, None)
print(resp.json()['contact'])
sys.stderr.write("*** 終了 ***\n")
# ------------------------------------------------------------------
実行結果
$ sudo ./get_email.py
*** 開始 ***
['mailto:hello@example.com']
*** 終了 ***