<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>Tls - 标签 - William</title>
    <link>https://williamlfang.github.io/tags/tls/</link>
    <description>Tls - 标签 | William</description>
    <generator>Hugo -- gohugo.io</generator><language>zh-CN</language><lastBuildDate>Thu, 29 Oct 2026 21:55:45 &#43;0900</lastBuildDate><atom:link href="https://williamlfang.github.io/tags/tls/" rel="self" type="application/rss+xml" /><item>
  <title>Screen capture on a LAN web app needs https, and macOS refuses a lazy self-signed certificate</title>
  <link>https://williamlfang.github.io/2026-10-29-lan-https-local-ca/</link>
  <pubDate>Thu, 29 Oct 2026 21:55:45 &#43;0900</pubDate>
  <author>william</author>
  <guid>https://williamlfang.github.io/2026-10-29-lan-https-local-ca/</guid>
  <description><![CDATA[<div class="featured-image"><img loading="eager" src="https://williamlfang.github.io/2026-10-29-lan-https-local-ca/featured-image.png" alt="Screen capture on a LAN web app needs https, and macOS refuses a lazy self-signed certificate" title="Screen capture on a LAN web app needs https, and macOS refuses a lazy self-signed certificate" referrerpolicy="no-referrer"/></div><p>My team&rsquo;s internal portal runs on plain http on the LAN, at <code>http://192.168.1.82:8888</code>. I wanted its
note editor to grab a screenshot of another window straight from the browser, Flameshot-style, with
<code>getDisplayMedia()</code>. On that address the API isn&rsquo;t there at all: <strong>browsers only offer screen capture
in a secure context, and an http page on a LAN IP is not one.</strong></p>
<p>The fix is https next to http, with a certificate signed by a small local CA that each computer trusts
once. My first attempt, the usual one-line self-signed <code>openssl req -x509</code>, made the wrong kind of
certificate: a CA certificate with no <code>serverAuth</code> usage, which Apple&rsquo;s rules reject.</p>]]></description>
</item>
</channel>
</rss>
