@@ -2783,6 +2783,7 @@ _clearAPI() {
27832783 ACME_REVOKE_CERT=" "
27842784 ACME_NEW_NONCE=" "
27852785 ACME_AGREEMENT=" "
2786+ ACME_RENEWAL_INFO=" "
27862787}
27872788
27882789# server
@@ -2827,13 +2828,17 @@ _initAPI() {
28272828 ACME_AGREEMENT=$( echo " $response " | _egrep_o ' termsOfService" *: *"[^"]*"' | cut -d ' "' -f 3)
28282829 export ACME_AGREEMENT
28292830
2831+ ACME_RENEWAL_INFO=$( echo " $response " | _egrep_o ' renewalInfo" *: *"[^"]*"' | cut -d ' "' -f 3)
2832+ export ACME_RENEWAL_INFO
2833+
28302834 _debug " ACME_KEY_CHANGE" " $ACME_KEY_CHANGE "
28312835 _debug " ACME_NEW_AUTHZ" " $ACME_NEW_AUTHZ "
28322836 _debug " ACME_NEW_ORDER" " $ACME_NEW_ORDER "
28332837 _debug " ACME_NEW_ACCOUNT" " $ACME_NEW_ACCOUNT "
28342838 _debug " ACME_REVOKE_CERT" " $ACME_REVOKE_CERT "
28352839 _debug " ACME_AGREEMENT" " $ACME_AGREEMENT "
28362840 _debug " ACME_NEW_NONCE" " $ACME_NEW_NONCE "
2841+ _debug " ACME_RENEWAL_INFO" " $ACME_RENEWAL_INFO "
28372842 if [ " $ACME_NEW_ACCOUNT " ] && [ " $ACME_NEW_ORDER " ]; then
28382843 return 0
28392844 fi
@@ -6537,6 +6542,36 @@ deactivate() {
65376542 done
65386543}
65396544
6545+ # cert
6546+ _getAKI () {
6547+ _cert=" $1 "
6548+ openssl x509 -in " $_cert " -text -noout | grep " X509v3 Authority Key Identifier" -A 1 | _tail_n 1 | tr -d ' :'
6549+ }
6550+
6551+ # cert
6552+ _getSerial () {
6553+ _cert=" $1 "
6554+ openssl x509 -in " $_cert " -serial -noout | cut -d = -f 2
6555+ }
6556+
6557+ # cert
6558+ _get_ARI () {
6559+ _cert=" $1 "
6560+ _aki=$( _getAKI " $_cert " )
6561+ _ser=$( _getSerial " $_cert " )
6562+ _debug2 " _aki" " $_aki "
6563+ _debug2 " _ser" " $_ser "
6564+
6565+ _akiurl=" $( echo " $_aki " | _h2b | _base64 | tr -d = | _url_encode) "
6566+ _debug2 " _akiurl" " $_akiurl "
6567+ _serurl=" $( echo " $_ser " | _h2b | _base64 | tr -d = | _url_encode) "
6568+ _debug2 " _serurl" " $_serurl "
6569+
6570+ _ARI_URL=" $ACME_RENEWAL_INFO /$_akiurl .$_serurl "
6571+ _get " $_ARI_URL "
6572+
6573+ }
6574+
65406575# Detect profile file if not specified as environment variable
65416576_detect_profile () {
65426577 if [ -n " $PROFILE " -a -f " $PROFILE " ]; then
0 commit comments