Split out from #1497 — Swift executor URLSession error audit. Section C — SSL payload and platform gaps.
File references are to native/swift/Sources/wordpress-api/SafeRequestExecutor.swift unless noted; :NNN line numbers were verified against fix/converge-executor-error-classification.
Severity: medium. handleHttpsError builds presentedHostnames as [siteCertificate.commonName()] even though the parsed SslCertificateInfo exports alternativeNames() over UniFFI. Modern certificates carry their identities in SANs — CN is often empty or unrelated — so the payload can present an empty or misleading name list. reqwest forwards the full presented-names list (presented.to_vec()). One-line fix; LoginTests.swift pins the CN-only shape and needs updating. Relates to #657 (that issue is test coverage; this is the payload), and becomes load-bearing if #1498's host-vs-names comparison lands.
Severity: medium.
handleHttpsErrorbuildspresentedHostnamesas[siteCertificate.commonName()]even though the parsedSslCertificateInfoexportsalternativeNames()over UniFFI. Modern certificates carry their identities in SANs — CN is often empty or unrelated — so the payload can present an empty or misleading name list. reqwest forwards the full presented-names list (presented.to_vec()). One-line fix;LoginTests.swiftpins the CN-only shape and needs updating. Relates to #657 (that issue is test coverage; this is the payload), and becomes load-bearing if #1498's host-vs-names comparison lands.