java net 配置局域网受信任的https

安装 Chocolatey(Windows 包管理器

Windows PowerShell ISE 安装Chocolatey

ini 复制代码
Set-ExecutionPolicy Bypass -Scope Process -Force;
\[System.Net.ServicePointManager\]::SecurityProtocol =
\[System.Net.ServicePointManager\]::SecurityProtocol -bor 3072; iex
((New-Object
System.Net.WebClient).DownloadString(\'https://community.chocolatey.org/install.ps1\'))

验证安装

css 复制代码
choco \--version

使用 choco 安装 mkcert

[在管理员 PowerShell 中运行:]{.mark}

复制代码
choco install mkcert

验证 mkcert 是否正常

复制代码
mkcert -install

然后为你的局域网 IP 生成证书(例如 192.168.5.31):

复制代码
mkcert 192.168.5.31

这时候会得到2个文件

vbnet 复制代码
192.168.5.31.pem
192.168.5.31-key.pem

asp.net core 启动设置证书

使用openssl 将文件转成 pfx

bash 复制代码
openssl pkcs12 -export -out server.pfx -inkey 192.168.5.31-key.pem -in
192.168.5.31.pem -name \"192.168.5.31\" -password pass:yourpassword123

代码配置

ini 复制代码
// 配置 Kestrel 使用 HTTPS 证书

builder.WebHost.ConfigureKestrel(serverOptions =>
{
    var pfxPath = Path.Combine(builder.Environment.ContentRootPath, "certs", "server.pfx");
    var pfxPassword = "yourpassword123"; 
    if (File.Exists(pfxPath) )
    {
        serverOptions.Listen(new IPEndPoint(IPAddress.Parse("192.168.5.31"),5018),options =>
        {
            options.UseHttps(pfxPath, pfxPassword);
        });
    }
    else
    {
        Console.WriteLine("⚠️ 证书未找到,使用开发证书(浏览器可能仍报错)");
        serverOptions.ListenAnyIP(5001, options =>
        {
            options.UseHttps(); // 使用 ASP.NET Core 开发证书
        });
}
});

配置文件配置

json 复制代码
{
  "Kestrel": {
    "Certificates": {
      "Default": {
        "Path": "certs/server.pfx",
        "Password": "yourpassword123"
      }
    },
    "Endpoints": {
      "Https": {
        "Url": "https://192.168.5.31:5018",
        "Certificate": {
          "Path": "certs/server.pfx",
          "Password": "yourpassword123"
        }
      },
      "Http": {
        "Url": "http://192.168.5.31:5000"
      }
    }
  }
}

java启动设置证书

java 支持 .p12 格式(比 .jks 更现代),推荐使用。

objectivec 复制代码
openssl pkcs12 -export \
  -out server.p12 \
  -inkey 192.168.5.31-key.pem \
  -in 192.168.5.31.pem \
  -name "tomcat" \
  -password pass:changeit

将 server.p12 放入 Java 项目

css 复制代码
your-spring-boot-app/
├── src/
│ └── main/
│ ├── resources/
│ │ └── server.p12 ← 放这里
│ └── java/
│ └── com/example/demo/DemoApplication.java
├── application.yml

配置 application.yml(Spring Boot)

yaml 复制代码
server:
  port: 8443
  ssl:
    enabled: true
    key-store-type: PKCS12
    key-store: classpath:server.p12
    key-store-password: changeit
    key-alias: tomcat
    # client-auth: want/need(双向认证可选)

启动 Spring Boot 应用

arduino 复制代码
mvn spring-boot:run
\# 或
java -jar your-app.jar
相关推荐
Cache技术分享几秒前
290. Java Stream API - 从文本文件的行创建 Stream
前端·后端
用户948357016511 分钟前
拒绝 try-catch:如何设计全局通用的异常拦截体系?
后端
golang学习记4 分钟前
Go 1.22 隐藏彩蛋:cmp.Or —— 让“默认值”写起来像呼吸一样自然!
后端
阿里巴巴P8高级架构师5 分钟前
从0到1:用 Spring Boot 4 + Java 21 打造一个智能AI面试官平台
java·后端
桦说编程7 分钟前
并发编程踩坑实录:这些原则,帮你少走80%的弯路
java·后端·性能优化
小杨同学499 分钟前
C 语言实战:枚举类型实现数字转星期(输入 1~7 对应星期几)
前端·后端
用户8307196840829 分钟前
Shiro登录验证与鉴权核心流程详解
spring boot·后端
码头整点薯条10 分钟前
基于Java实现的简易规则引擎(日常开发难点记录)
java·后端
Codelinghu18 分钟前
「 LLM实战 - 企业 」构建企业级RAG系统:基于Milvus向量数据库的高效检索实践
人工智能·后端·llm
d***817224 分钟前
springboot 修复 Spring Framework 特定条件下目录遍历漏洞(CVE-2024-38819)
spring boot·后端·spring