<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tls on Vegatron 🌈✨</title><link>https://vegatron.engineering/tags/tls/</link><description>Recent content in Tls on Vegatron 🌈✨</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 11 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://vegatron.engineering/tags/tls/index.xml" rel="self" type="application/rss+xml"/><item><title>Checking Certs</title><link>https://vegatron.engineering/posts/checking-certs/</link><pubDate>Sat, 11 Jul 2026 00:00:00 +0000</pubDate><guid>https://vegatron.engineering/posts/checking-certs/</guid><description>&lt;p>Even among microservices it&amp;rsquo;s prudent to use HTTPS to communicate.
It builds more trust in the system.&lt;/p>
&lt;h1 id="unhelpful-error">Unhelpful error&lt;/h1>
&lt;p>But when the certificates fail in some way the error is quite unhelpful.&lt;/p>
&lt;p>There&amp;rsquo;s no information about which certificate failed, or why it failed.
The stacktrace and exception message do not help to diagnose the problem:&lt;/p>
&lt;div class="code-block">
 &lt;button type="button" class="code-copy-btn" data-copy-target="code-block-0-src" aria-label="Copy code">Copy&lt;/button>
 &lt;textarea id="code-block-0-src" class="code-src-raw" hidden tabindex="-1" aria-hidden="true">sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:148)
 ...
 	at io.ktor.network.tls.TLSClientHandshake.handleCertificatesAndKeys(TLSClientHandshake.kt:257)
 ...&lt;/textarea>
 &lt;div class="code-reveal-clip">&lt;pre tabindex="0">&lt;code>sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:148)
 ...
 	at io.ktor.network.tls.TLSClientHandshake.handleCertificatesAndKeys(TLSClientHandshake.kt:257)
 ...&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;h1 id="certificate-issues">Certificate issues&lt;/h1>
&lt;p>We hit this exact problem recently, when an upstream system had a certificate issue.&lt;/p></description></item></channel></rss>