<!--- 20190419
BLOG: https://dev.to/gamesover/identify-ssl-expiration-date-using-coldfusion-1lm5 --->

<cfset HostToTest = "letsencrypt.org">

<cfset factory = CreateObject("java", "javax.net.ssl.HttpsURLConnection").getDefaultSSLSocketFactory()>
<cfset socket = factory.createSocket(HostToTest, JavaCast("int",443))>
<cfset socket.startHandshake()>
<cfset certs = socket.getSession().getPeerCertificates()>
<cfif IsArray(certs)>
	<cfloop from="1" to="#ArrayLen(certs)#" index="i">
		<cfset cert = certs[i]>
		<cfoutput>
      <div>#cert.getSubjectDN().getName()# - Valid Until <b>#DateFormat(cert.getNotAfter())#</b></div>
    </cfoutput>
	</cfloop> 
</cfif>

<cfset socket.close()>