Skip to content

Commit 70dacdf

Browse files
authored
Merge pull request #2709 from testssl/nameopt_utf8_2705
Fix LibreSSL parsing (-nameopt utf8)
2 parents a43261f + 8d8f83a commit 70dacdf

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

testssl.sh

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10035,7 +10035,7 @@ certificate_info() {
1003510035
fileout "intermediate_cert <#${i}>${json_postfix}" "INFO" "$(pem_to_one_line "$cert")"
1003610036
fileout "intermediate_cert_fingerprintSHA256 <#${i}>${json_postfix}" "INFO" "$(determine_cert_fingerprint_serial "$cert" "-fingerprint -sha256")"
1003710037

10038-
intermediate_certs_txt[i]="$($OPENSSL x509 -text -nameopt utf8 -noout 2>/dev/null <<< "$cert")"
10038+
intermediate_certs_txt[i]="$($OPENSSL x509 -text -nameopt multiline,-align,sname,-esc_msb,utf8,-space_eq -noout 2>/dev/null <<< "$cert")"
1003910039

1004010040
# We don't need every value here. For the sake of being consistent here we add the rest
1004110041
IFS=',' read -r startdate enddate diffseconds days2expire yearstart < <(determine_dates_certificate "${intermediate_certs_txt[i]}")
@@ -10066,8 +10066,9 @@ certificate_info() {
1006610066
expok="OK"
1006710067
fi
1006810068
out " ($enddate). "
10069-
cn="$(awk -F= '/Subject:.*CN/ { print $NF }' <<< "${intermediate_certs_txt[i]}")"
10070-
issuer_CN="$(awk -F= '/Issuer:.*CN/ { print $NF }' <<< "${intermediate_certs_txt[i]}")"
10069+
# Match on Subject/Issuer plus next 3 lines
10070+
cn="$(awk '/Subject:/{stop=NR+3}; NR<=stop' <<< "${intermediate_certs_txt[i]}" | awk -F= '/CN/ { print $NF }')"
10071+
issuer_CN="$(awk '/Issuer:/{stop=NR+3}; NR<=stop' <<< "${intermediate_certs_txt[i]}" | awk -F= '/CN/ { print $NF }')"
1007110072
pr_italic "$(strip_leading_space "$cn")"; out " <-- "; prln_italic "$(strip_leading_space "$issuer_CN")"
1007210073
fileout "intermediate_cert_notAfter <#${i}>${json_postfix}" "$expok" "$enddate"
1007310074
fileout "intermediate_cert_expiration <#${i}>${json_postfix}" "$expok" "$cn_finding"

0 commit comments

Comments
 (0)