背景使用WebRTC需要SSL证书，所以我们需要在局域网自签SSL证书。在 SSL/TLS 证书体系中，IP 地址证书（即证书主题中包含 IP 而非域名）是一种特殊类型的证书，适用于直接通过 IP 地址访问的服务（如内网 API、IoT 设备等）。windows service 系统前提准备下载openssl电脑需要安装openssl下载地址：Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions找到下图圈的下载，版本不重要，选对Win64 OpenSSL，不要选Light安装openssl提示这个就是缺失环境，弹出的网站自动下载安装就好了一路下一步就行出现这个就完成了配置环境变量windows搜索打开，输入环境，选择编辑账户的环境变量选中这行点击编辑点击新建如果是默认安装，路径是：C:\Program Files\OpenSSL-Win64\bin如果你自己选择了安装路径，根据实际情况填写就好了脚本一键生成脚本，根据需要修改《配置区域（根据实际修改）》生成的证书会保存在CERT_DIR配置的路径中@echo off setlocal enabledelayedexpansion :: ============================================= :: 全自动证书生成脚本 :: ============================================= title 全自动证书生成工具 v3.0 :: 配置区域（根据实际修改） set "CERT_DIR=D:\Progra~2\SRS\cert" set "CA_NAME=Srs Root CA" set "SERVER_CN=192.168.19.103" set "DAYS=3650" :: 文件路径 set "CA_KEY=%CERT_DIR%\ca-key.pem" set "CA_CRT=%CERT_DIR%\ca-crt.pem" set "CA_CRT_DER=%CERT_DIR%\ca-crt.der" set "CA_CRT_CRT=%CERT_DIR%\ca-crt.crt" set "SERVER_KEY=%CERT_DIR%\server.key" set "SERVER_CSR=%CERT_DIR%\server.csr" set "SERVER_CRT=%CERT_DIR%\server.crt" set "CHAIN_PEM=%CERT_DIR%\chain.pem" :: 检查OpenSSL where openssl >nul 2>&1 || ( echo [错误] OpenSSL未安装或未加入PATH echo 请安装OpenSSL并添加至系统PATH pause exit /b 1 ) :: 创建目录 if not exist "%CERT_DIR%" ( mkdir "%CERT_DIR%" if errorlevel 1 ( echo [错误] 无法创建目录 %CERT_DIR% pause exit /b 1 ) ) :: 生成CA配置文件（关键修复1：完整DN配置） ( echo [req] echo distinguished_name = dn echo req_extensions = v3_ca echo prompt = no echo. echo [dn] echo C = CN echo ST = Zhejiang echo L = Zhuji echo O = Jws echo OU = Jws echo CN = %CA_NAME% echo emailAddress = jws@jws.com echo. echo [v3_ca] echo basicConstraints = critical,CA:TRUE,pathlen:0 echo keyUsage = critical,keyCertSign,cRLSign echo subjectKeyIdentifier = hash ) > "%CERT_DIR%\ca.cnf" :: 1. 生成CA证书（完全自动化） echo 正在生成CA根证书... openssl req -x509 -newkey rsa:4096 -days %DAYS% -nodes ^ -config "%CERT_DIR%\ca.cnf" ^ -keyout "%CA_KEY%" ^ -out "%CA_CRT%" ^ -extensions v3_ca >nul 2>&1 if not exist "%CA_CRT%" ( echo [错误] CA证书生成失败！ goto CLEANUP ) :: 2. 生成多平台格式 openssl x509 -in "%CA_CRT%" -outform DER -out "%CA_CRT_DER%" >nul 2>&1 openssl x509 -in "%CA_CRT%" -out "%CA_CRT_CRT%" -outform PEM >nul 2>&1 :: 3. 生成服务器配置文件（关键修复2：独立配置） ( echo [req] echo distinguished_name = dn echo req_extensions = v3_req echo prompt = no echo. echo [dn] echo C = CN echo ST = Zhejiang echo L = Zhuji echo O = Jws echo OU = Jws echo CN = %SERVER_CN% echo emailAddress = jws@jws.com echo. echo [v3_req] echo basicConstraints = CA:FALSE echo keyUsage = digitalSignature,keyEncipherment echo extendedKeyUsage = serverAuth echo subjectAltName = IP:%SERVER_CN% ) > "%CERT_DIR%\server.cnf" :: 4. 生成服务器证书（完全自动化） echo 正在生成服务器证书... openssl req -new -newkey rsa:2048 -nodes ^ -config "%CERT_DIR%\server.cnf" ^ -keyout "%SERVER_KEY%" ^ -out "%SERVER_CSR%" >nul 2>&1 if not exist "%SERVER_CSR%" ( echo [错误] CSR生成失败！ goto CLEANUP ) openssl x509 -req -days %DAYS% ^ -in "%SERVER_CSR%" ^ -CA "%CA_CRT%" ^ -CAkey "%CA_KEY%" ^ -CAcreateserial ^ -out "%SERVER_CRT%" ^ -extensions v3_req ^ -extfile "%CERT_DIR%\server.cnf" >nul 2>&1 if not exist "%SERVER_CRT%" ( echo [错误] 服务器证书生成失败！ goto CLEANUP ) :: 5. 生成证书链 type "%SERVER_CRT%" "%CA_CRT%" > "%CHAIN_PEM%" :: 自动导入到本机（Windows） echo 正在自动导入CA证书... certutil -f -addstore "Root" "%CA_CRT_DER%" >nul 2>&1 :: 显示结果 echo. echo ============== 生成成功 ============== echo [CA证书] echo Windows安装: %CA_CRT_DER% echo Android安装: %CA_CRT_CRT% echo. echo [服务器证书] echo 私钥: %SERVER_KEY% echo 证书: %SERVER_CRT% echo 证书链: %CHAIN_PEM% echo. echo [验证命令] echo openssl verify -CAfile "%CA_CRT%" "%SERVER_CRT%" echo. :CLEANUP del "%CERT_DIR%\ca.cnf" 2>nul del "%CERT_DIR%\server.cnf" 2>nul del "%CERT_DIR%\.srl" 2>nul pause 把上方代码复制到txt文档，修改后缀名为bat然后就是双击666我的宝贝，出现下方界面就算成功去CERT_DIR就可以看到证书文件了
免费SSL证书自动续期，用CertbotX配置一次就不管了
做网站的人应该都有体会：SSL 证书申请不难，难的是续期。今天分享一个国产的 SSL 证书自动续期平台 CertbotX，配置一次，之后证书到期前自动重新申请、自动部署，基本不用再管。平台核心流程就三步：DNS 验证（CNAME 委托）→ ACME 自动签发 → Agent 自动部署。第一步：注册并添加域名打开 CertbotX 官网，注册账号进入控制台，添加你要托管的域名。平台会自动生成专属的 _acme-challenge CNAME 记录，复制下来备用。第二步：DNS 控制台配置 CNAME 委托去你的 DNS 服务商（阿里云、腾讯云、Cloudflare 等）控制台，按平台提示添加一条 CNAME 记录：主机记录填 _acme-challenge，记录值填平台给的验证域名。添加后回到平台点"验证解析"，平台自动检测委托是否生效。委托生效后，TXT 记录由平台自己加、自己删，你完全不用碰。这也是 CertbotX 省心的核心：验证记录自动管理。官网还提供免费的 DNS-01 委托检测工具，输入域名就能查 _acme-challenge CNAME、TXT 可见性和委托状态，配完扫一眼即可确认。第三步：自动签发委托生效后，平台通过海外 ACME Worker 节点发起签发请求（绕开国内直连国外 ACME 服务不稳定的问题），证书自动生成。之后到期前自动重新申请，全程无需干预。第四步：（可选）Agent 自动部署证书签出来还要部署到服务器。在目标服务器装 CertbotX Agent（一条命令），在平台绑定好服务器，证书签发/续期后自动推送文件到服务器对应目录，私钥不离开服务器。支持 Nginx、宝塔等环境，平台有部署手册，按环境给你最小的证书文件、配置和验证步骤。额外：免费检测工具首页还有免费的 SSL 检测工具：输入域名，一次可查证书有效期、证书链、域名匹配、TLS 版本、HTTP 跳转和 HSTS，批量查到期也行，不用登录。配置一次，之后就不用管了。手里域名多的朋友可以拿个不重要的域名先试，免费版托管 5 个域名，个人站够用了。
SSL证书自动化申请、续费、部署。Certimate 旨在为用户提供一个安全、简便的 SSL 证书管理解决方案
github地址：usual2970/certimate: 开源的SSL证书管理工具，可以帮助你自动申请、部署SSL证书，并在证书即将过期时自动续期。An open-source SSL certificate management tool that helps you automatically apply for and deploy SSL certificates, as well as automatically renew them when they are about to expire.做个人产品或者在中小企业里负责运维的同学，会遇到要管理多个域名的情况，需要给域名申请证书。但是手动申请证书有以下缺点：😱 麻烦：申请证书并部署到服务的流程虽不复杂，但也挺麻烦的，犹其是你有多个域名需要维护的时候。😭 易忘：另外当前免费证书的有效期只有 90 天，这就要求你定期的操作，增加了工作量的同时，你也很容易忘掉续期，从而导致网站访问不了。Certimate 就是为了解决上述问题而产生的，它具有以下优势：本地部署：一键安装，只需要下载二进制文件，然后直接运行即可。同时也支持 Docker 部署、源代码部署等方式。​数据安全：由于是私有部署，所有数据均存储在自己的服务器上，不会经过第三方，确保数据的隐私和安全。​操作简单：简单配置即可轻松申请 SSL 证书并部署到指定的目标上，在证书即将过期前自动续期，从申请证书到使用证书完全自动化，无需人工操作。​Certimate 旨在为用户提供一个安全、简便的 SSL 证书管理解决方案。💡 特性​灵活的工作流编排方式，证书从申请到部署完全自动化；支持单域名、多域名、泛域名证书，可选 RSA、ECC 签名算法；支持 PEM、PFX、JKS 等多种格式输出证书；支持 20+ 域名托管商（如阿里云、腾讯云、Cloudflare 等）；支持 60+ 部署目标（如 Kubernetes、CDN、WAF、负载均衡等）；支持邮件、钉钉、飞书、企业微信、Webhook 等多种通知渠道；支持 Let's Encrypt、ZeroSSL、Google Trust Services 等多种 ACME 证书颁发机构；更多特性等待探索。提供商在 Certimate 中，提供商是指提供特定服务的第三方。提供商分为两种类型：DNS 提供商：你的 DNS 托管方，通常等同于域名注册商，用于在申请证书时管理你的域名解析记录。主机提供商：你的服务器或云服务的托管方，用于部署签发的证书。支持的 DNS 提供商​阿里云腾讯云百度智能云华为云火山引擎京东云AWS Route53AzureCloudFlareClouDNSDNS.LAGcoreGNAMEGoDaddyName.comNamecheapNameSiloIBM NS1 Connect移动云雨云西部数码PowerDNSACME 代理 HTTP 请求：可申请允许通过 HTTP 请求修改 DNS 的域名。我的域名注冊商不在清单内？​不幸的是，Certimate 的工作高度依赖自动化，不受支持的域名注册商将无法完成 DNS-01 质询。在我们做出支持响应之前，你可以通过以下任一方式继续使用 Certimate 来申请证书。将你的域名 NS 服务器设置为上述支持的提供商（注意，这只是修改 NS，不是转移你的域名注册商！）；使用 CNAME 记录，指向上述支持的提供商；搭建并使用 ACME DNS。在后续版本中，我们可能会增加允许用户手动完成 DNS-01 质询的功能。支持的主机提供商​本地部署：可部署到本地服务器。SSH 部署：可部署到远程服务器（通过 SSH+SFTP/SCP）。Webhook：可部署到 Webhook。Kubernetes：可部署到 Kubernetes Secret。阿里云：可部署到阿里云 OSS、CDN、DCDN、ESA、SLB（CLB/ALB/NLB）、WAF、Live、VOD、FC 等服务。腾讯云：可部署到腾讯云 COS、CDN、ECDN、EdgeOne、CLB、WAF、CSS、VOD、SCF 等服务。百度智能云：可部署到百度智能云 CDN 等服务。华为云：可部署到华为云 CDN、ELB、WAF 等服务。火山引擎：可部署到火山引擎 TOS、CDN、DCDN、CLB、ImageX、Live 等服务。京东云：可部署到京东云 CDN、ALB、视频直播、视频点播等服务。七牛云：可部署到七牛云 CDN、直播云等服务。白山云：可部署到白山云 CDN。多吉云：可部署到多吉云 CDN。优刻得：可部署到优刻得 US3、UCDN 等服务。雷池：可部署到雷池 WAF。1Panel：可部署到 1Panel。宝塔面板：可部署到宝塔面板。AWS：可部署到 AWS CloudFront。BytePlus：可部署到 BytePlus CDN。CacheFly：可部署到 CacheFly CDN。Cdnfly：可部署到 Cdnfly CDN。Edgio：可部署到 Edgio Applications。Gcore：可部署到 Gcore CDN。支持的通知渠道​邮件（SMTP）Webhook钉钉（机器人）飞书（机器人）企业微信（机器人）BarkServer 酱Telegram支持的证书颁发机构​Let's Encrypt：包括测试环境及生产环境。ZeroSSLGoogle Trust Services