@@ -8353,6 +8353,7 @@ certificate_info() {
83538353 local caa_node="" all_caa="" caa_property_name="" caa_property_value=""
83548354 local response=""
83558355 local yearstart yearend clockstart clockend y m d
8356+ local gt_398=false gt_398warn=false
83568357 local gt_825=false gt_825warn=false
83578358 local badocsp=1
83588359
@@ -9111,6 +9112,26 @@ certificate_info() {
91119112 out "$spaces"
91129113 prln_svrty_medium ">= 5 years is too long"
91139114 fileout "cert_validityPeriod${json_postfix}" "MEDIUM" "$((diffseconds / (3600 * 24) )) days"
9115+ elif [[ $diffseconds -ge $((3600 * 24 * 398 + 1)) ]]; then
9116+ # Also "official" certificates issued from september 1st 2020 (1598918400) aren't supposed
9117+ # to be valid longer than 398 days which is 34387200 in epoch seconds
9118+ gt_398=true
9119+ if "$HAS_OPENBSDDATE"; then
9120+ if [[ 20200901 -le ${yearstart//-/} ]]; then
9121+ gt_398warn=true
9122+ fi
9123+ elif [[ $(parse_date "$startdate" "+%s" $'%F %H:%M') -ge 1598918400 ]]; then
9124+ gt_398warn=true
9125+ fi
9126+ # Now, the verdict, depending on the issuing date
9127+ out "$spaces"
9128+ if "$gt_398warn" && "$gt_398"; then
9129+ prln_svrty_medium "> 398 days issued after 2020/09/01 is too long"
9130+ fileout "cert_validityPeriod${json_postfix}" "MEDIUM" "$((diffseconds / (3600 * 24) )) > 398 days"
9131+ elif "$gt_398"; then
9132+ outln ">= 398 days certificate life time but issued before 2020/09/01"
9133+ fileout "cert_validityPeriod${json_postfix}" "INFO" "$((diffseconds / (3600 * 24) )) =< 398 days"
9134+ fi
91149135 elif [[ $diffseconds -ge $((3600 * 24 * 825 + 1)) ]]; then
91159136 # Also "official" certificates issued from March 1st, 2018 (1517353200) aren't supposed
91169137 # to be valid longer than 825 days which is 1517353200 in epoch seconds
0 commit comments