window和ubuntu自签证书

window下 以管理员身份 运行 Windows PowerShell

CN=192.168.0.100 (换成自己的IP或者域名)

O=(组织) OU=(组织单位)

Cert:\LocalMachine\My:证书存储位置

test_10:自定义证书名称 .AddYears(10): 证书过期时间 10 年

bash 复制代码
$cert = New-SelfSignedCertificate `
    -Subject "CN=192.168.0.100, O=test, OU=test" `
    -KeyAlgorithm RSA `
    -KeyLength 2048 `
    -NotAfter (Get-Date).AddYears(10) `
    -CertStoreLocation "Cert:\LocalMachine\My" `
    -FriendlyName "test_10"

"password": 证书密码 可以自己设置 ,后面导出和生成 使用

bash 复制代码
$password = ConvertTo-SecureString -String "password" -Force -AsPlainText

导出证书到D盘

bash 复制代码
Export-PfxCertificate `
    -Cert $cert `
    -FilePath "D:\test_10.pfx" `
    -Password $password

安装openssl

bash 复制代码
# 搜索 openssl	
winget search openssl

# 使用ID安装 openssl
winget install --id FireDaemon.OpenSSL

重启 power shell (以管理员身份)!!!

输入 openssl version 查看版本号,有输出说明安装没问题

bash 复制代码
password:上面自定义的证书密码

# 转换为 .key 私钥文件(无密码)
openssl pkcs12 -in "D:\test_10.pfx" -nocerts -out "D:\test_10.key" -nodes -passin pass:password

# 转换为 .crt 证书文件
openssl pkcs12 -in "D:\test_10.pfx" -clcerts -nokeys -out "D:\test_10.crt" -passin pass:password

证书生成完了,可以使用nginx配置 key 和 crt 记得编辑对自己的 server_name;

win+r 输入 certmgr.msc 查看当前计算机证书信息

bash 复制代码
# 查看证书信息
Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.FriendlyName -eq "test_10" } | Select-Object -Property Subject, DnsNameList, NotAfter

ubuntu 使用 openssl生成证书

bash 复制代码
# 生成私钥(RSA 2048位)
openssl genrsa -out server.key 2048

openssl rand -writerand /root/.rnd

# 生成证书签名请求(CSR)
openssl req -new -key server.key -out server.csr -subj "/CN=192.168.0.130/O=test/OU=test"

# 生成自签证书(有效期365天)
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt \
  -extfile <(printf "subjectAltName=DNS:192.168.0.130,DNS:localhost,IP:127.0.0.1")
相关推荐
数智工坊4 小时前
Zotero自建Ubuntu WebDAV附件同步方案(完美解决存储空间不足)
linux·运维·ubuntu
ltl6 小时前
HTTP/3 实战:从 QUIC 到 H3 的完整请求链路
linux
独隅6 小时前
GitHub Actions 自动化运维实战:CI/CD 流水线一体化效果展示
运维·自动化·github
ltl6 小时前
POSIX 文件锁:flock、fcntl 与 NFS 上的工程陷阱
linux
ltl6 小时前
CUDA 生态:cuBLAS、cuDNN、NCCL、Triton、CUTLASS
linux
饺子大魔王的男人6 小时前
CentOS部署Cockpit:图形化查看系统、日志与服务状态
linux·运维·centos
不会就选b6 小时前
Linux之信号(二)
linux·运维·服务器
我是小灰灰吖7 小时前
QT在线安装器使用指南:从下载到配置完整教程
linux·qt·ubuntu
GlueNa2SiO37 小时前
第十八章 Linux故障排查与恢复
linux·服务器·笔记·学习
qq_267612897 小时前
Gitee项目管理推荐:从工具链割裂到DevOps全链路贯通的企业级协作实践
运维·gitee·devops