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")
相关推荐
华万通信king13 分钟前
企业微信机器人Webhook开发实战:从配置到生产级调用
运维·自动化·企业微信
sulikey18 分钟前
ext2 GDT 块组描述符表 详细技术拆解
linux·操作系统·文件系统·ext2·gdt·ext·块组描述符
QuestLab20 分钟前
Ollama在Linux上安装的详细记录
linux·运维·服务器
Strugglingler31 分钟前
【Linux PL011驱动支持RS485】
linux·uart·rs485·pl011
IT瑞先生33 分钟前
Linux系统基础
linux·运维·服务器
modelmd35 分钟前
Linux chroot命令
linux
l1t1 小时前
在WSL的ubuntu 26.04容器中用deb安装包安装使用redrock-4.1-1
linux·运维·ubuntu·postgresql
renren-1001 小时前
centos7.9 升级openssl11 导致的系统命令瘫痪
linux·运维·服务器
金玉满堂@bj1 小时前
Pytest 完整使用教程
运维·服务器·pytest
SWAGGY..1 小时前
Linux系统编程:(六)编译器gcc/g++
linux·运维·服务器