当前位置: 首页 > article >正文

使用java jdk生成自定义SSL证书-CA免费证书

1、生成环境准备(版本不限):

openssl-1.0.2k

nginx-1.21.1

2、生成CA根证书

  • 准备ca配置文件,得到ca.conf:(vim ca.conf,内容如下:)

 [ req ]
default_bits       = 4096
distinguished_name = req_distinguished_name
 
[ req_distinguished_name ]
countryName                 = CN
countryName_default         = CN
stateOrProvinceName         = Shandong
stateOrProvinceName_default = Shandong
localityName                = jn
localityName_default        = Jinan
organizationName            = zxy
organizationName_default    = zxy
commonName                  = json
commonName_max              = 64
commonName_default          = json

  • 生成ca秘钥,得到ca.key(内容如下:)

openssl genrsa -out d:/ca.key 4096

  • 生成ca证书签发请求,得到ca.csr(内容如下:)输入内容后一路回车

openssl x509 -req -days 3650 -in d:/ca.csr -signkey d:/ca.key -out d:/ca.crt

3.生成终端用户证书 

  • 准备配置文件,得到server.conf ( vim server.conf,内容如下)

 [ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
 
[ req_distinguished_name ]
countryName = CN
countryName_default = CN
stateOrProvinceName = Shandong
stateOrProvinceName_default = Shandong
localityName = Jinan
localityName_default = Jinan
organizationName = zxy
organizationName_default = zxy
commonName = json
commonName_max = 64
commonName_default = 192.168.1.14
 
[ req_ext ]
subjectAltName = @alt_names
 
[alt_names]
IP = 192.168.1.14

  • 生成秘钥,得到server.key (内容如下)

openssl genrsa -out d:/server.key 2048

  • 生成证书签发请求,得到server.csr (内容如下:)输入内容后一路回车

openssl req -new -sha256 -out d:/server.csr -key d:/server.key -config d:/server.conf

  • 用CA证书生成终端用户证书,得到server.crt

 openssl x509 -req -days 3650 -CA d:/ca.crt -CAkey d:/ca.key -CAcreateserial -in d:/server.csr -out d:/server.crt -extensions req_ext -extfile d:/server.conf

4.使用证书

  • nginx 配置nginx.config (内容如下:)

     server {
         listen       443 ssl;
         server_name  localhost;
 
         ssl_certificate      D:/diy_ca/server.crt;
         ssl_certificate_key  D:/diy_ca/server.key;
 
         ssl_session_cache    shared:SSL:1m;
         ssl_session_timeout  5m;
 
         ssl_ciphers  HIGH:!aNULL:!MD5;
         ssl_prefer_server_ciphers  on;
 
         location / {
            root   /usr/share/nginx/html;
            index  index.html index.htm;
        }
    }


http://www.kler.cn/a/566805.html

相关文章:

  • onlyoffice 服务搭建及配置 - 前端 office 文件预览解决方案
  • AIoT是什么?关键技术及应用
  • Python 数据结构 1.零基础复习
  • ⭐算法OJ⭐位操作实战【计数】(C++ 实现)
  • 无人机 CAAC 执照考取全攻略
  • 25.贪心算法3
  • UniApp 按钮组件 open-type 属性详解:功能、场景与平台差异
  • LangChain大模型应用开发:LangGraph快速构建Agent工作流应用
  • web安全渗透测试 APP安全渗透漏洞测试详情
  • 「Selenium+Python自动化从0到1②|2025浏览器操控7大核心API实战(附高效避坑模板))」
  • Rust学习总结之-match
  • Nginx系列04(虚拟主机配置、反向代理)
  • Redis 的 Bitmap(位图)的使用场景
  • Windows 图形显示驱动开发-WDDM 3.2-自动显示切换(五)
  • Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数 - 详解(2)
  • 交叉编译curl(OpenSSL)移植ARM详细步骤
  • 支付宝 IoT 设备入门宝典(下)设备经营篇
  • python 视频网站爬虫教程,爬虫入门教程(付安装包)
  • 基于大型语言模型的google浏览器翻译插件
  • Redis开启远程访问