该来的迟早还是要来:Let's Encrypt 宣布有效期 6 天的 HTTPS 证书,支持 IP 地址

https://letsencrypt.org/2025/01/16/6-day-and-ip-certs

真的是不嫌麻烦,从三年一路加速到6天,也不知道未来管理员会不会疯掉。

总之不会因为这件事加鸡腿…

今年,我们将继续履行我们的承诺,通过引入获取六天生命周期证书(“短期证书”)的选项来提高 Web PKI 的安全性。除了域名之外,我们还将添加对 IP 地址的支持。

我们的长期证书目前的有效期为 90 天,将继续与我们的 6 天证书一起提供。订阅者将能够通过添加到我们的 ACME API 的证书配置文件机制来选择短期证书。

我们将支持将 IP 地址作为主题备用名称包含在我们的六天证书中。这将通过公开信任的证书实现与通过 IP 地址提供的服务的安全 TLS 连接,而无需域名。

但是它可以给 IP 地址证书了耶

6天,局域网没的玩

局域网直接自签:joy:

自签没有IP啊

离1天1签的时代还远吗。

保守了,1个小时一签

1 个赞

细细想来,挺安全的呀,费劲儿把证书弄到手准备搞中间人攻击,结果证书过期了。以后应该就是偷acme配置文件了吧。

…道理我都懂啊:joy:

可以的呀,生成一个证书,用python起了个服务器, https://ip:port 是可以的
(不知为啥图床上传不成功)

openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem
import http.server
import ssl
from http.server import HTTPServer, SimpleHTTPRequestHandler

class MyHandler(SimpleHTTPRequestHandler):
  def do_GET(self):
    try:
      # 用 SimpleHTTPRequestHandler 处理请求
      return SimpleHTTPRequestHandler.do_GET(self)
    except FileNotFoundError:
      # 如果请求的文件不存在,返回 404 错误
      self.send_error(404, 'File Not Found: %s' % self.path)

httpd = HTTPServer(('0.0.0.0', 443), MyHandler)
httpd.socket = ssl.wrap_socket(httpd.socket,
                               keyfile='key.pem',
                               certfile='cert.pem',
                               server_side=True)
httpd.serve_forever()

没什么特殊需求的话,一般用途直接 Caddy 就挺好的,自动签发/续签证书。反正免费证书有效期缩短是迟早的事,估计不久之后 ZeroSSL 也要跟上了。