Nginx SSL使用自制证书

news/2024/10/22 12:23:03/

1. 生成证书

keytool -genkey -v -alias <Alias别名> -keyalg RSA -keystore <KeyStore文件> -validity <有效期>

keytool -genkey -v -alias nginx -keyalg RSA -keystore nginx.keystore -validity 36500

  • alias别名为 nginx
  • keystore文件为 nginx.keystore
  • validity有效期为 36500天

在这里插入图片描述
生成结果:
在这里插入图片描述

2. 转换证书

常用证书格式:JKS(.keystore),微软(.pfx),OPSSL之PEM(.key + .crt),其中tomcat使用JKS格式,nginx使用PEM格式。
由于生成的证书是jks格式,nginx不能直接用,需要要转成PEM格式,这要用到jks2pfx工具进行转换。jks2pfx工具下载

解释:JKS2PFX <KeyStore文件> <KeyStore密码> <Alias别名> <导出文件名 >

JKS2PFX.bat ssl\nginx.keystore 123456 nginx exportfile .

  • KeyStore文件为 ssl\nginx.keystore
  • KeyStore密码为 123456
  • Alias别名为 nginx
  • 导出文件名为 .,即当前文件夹

转换结果:
在这里插入图片描述

3. 使用证书

在nginx.conf配置添加ssl证书,可以将上面生成的证书拷贝到nginx.conf文件夹下

server {listen 443 ssl;server_name localhost;ssl_certificate exportfile.crt;ssl_certificate_key exportfile.key; ssl_session_cache shared:SSL:10m;ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5;ssl_prefer_server_ciphers on;location / {alias D:/website/dist/;}
}
  • 说明下:有的证书是他人提供的,并非上面我们自己生成的,可能别人给你的证书中不存在key,如下面截图没有key,这个时候不配置key nginx会提示"ssl_certificate_key" is defined for certificate ,因此key是必须的,需要自己生成key。
    在这里插入图片描述
  • 这里可以根据提供的 password 从 pfx 文件生成 key openssl pkcs12 -in xxx.pfx -nodes -out xxx.key
# 将.pfx格式的证书转换为.pem文件格式:
openssl pkcs12 -in xxx.pfx -nodes -out server.pem# pem文件中导出私钥server.key:
openssl rsa -in server.pem -out server.key# 从.pem文件中导出证书server.crt
openssl x509 -in server.pem -out server.crt# 从.crt文件中导出证书server.pem
openssl x509 -in server.crt -out server.pem -outform PEM

4. 验证

在这里插入图片描述


http://www.ppmy.cn/news/670706.html

相关文章

zookeeper-zkui

很多小伙伴&#xff0c;比较喜欢可视化界面&#xff0c;本人也比较喜欢&#xff0c;所以就在网上找了一个开源的项目zkui 一、zkui有两种启动方式 本地启动&#xff08;具体项目中&#xff0c;或github中有具体适用方法&#xff09;docker 二、具体讲一下docker中的使用注意…

android 垃圾代码,AndroidJunkCode

此插件用于做马甲包时,减小马甲包与主包的代码相似度,避免被 OPPO、VIVO 等应用市场识别为马甲包。 使用方法 根目录的 build.gradle 中: buildscript {repositories {mavenCentral() } dependencies {classpath "com.github.qq549631030:android-junk-code:1.0.7"…

Edge resource utilization network design

前言 2022年的第一篇博客&#xff0c;分享一下如何有效利用GPU资源完成I&ML任务以及介绍一下Scapy网络工具和P4编程语言。 文章中的图片选自论文&#xff1a;Machine Learning at the Edge Efficient Utilization of Limited CPU GPU Resources by Multiplexing, Adaptive…

ZedBoard Linux开发 ---- OLED驱动详解

http://blog.163.com/thinki_cao/blog/static/8394487520143193932495/ ZedBoard上有一个128x32的OLED&#xff0c;默认情况下启动Digilent OOB Design的镜像之后显示的是“Digilent”的logo&#xff0c;不过既然能显示logo&#xff0c;那么也就是说其实在Digilent Linux中已…

Linux—zookeeper

文档结构 1、概念简介1.1、选举机制 2、环境部署2.1、单机部署2.2、集群部署2.3、客户端指令 3、配置应用 1、概念简介 1.1、选举机制 2、环境部署 下载链接&#xff1a;https://zookeeper.apache.org/releases.html 下载版本&#xff1a;apache-zookeeper-3.7.1-bin.tar.gz…

ZCU104开发板:开发板介绍1

简介 嵌入式视觉低成本&#xff08;EVLC&#xff09;开发套件使汽车&#xff0c;AR / VR&#xff0c;无人机&#xff0c;机器视觉和工业视觉开发人员能够在ZynqUltraScale™MPSoC XCZU7EV-2FFVC1156器件上构建设计原型和测试他们的设计。ZU7EV器件集成了四核ArmCortex™-A53处…

keil 简介

熟悉Keil C 51的朋友对于Keil MDK上手应该比较容易&#xff0c;毕竟界面是很像的。但ARM内核毕竟不同于51内核&#xff0c;因此无论在设置上还是在编程思想上&#xff0c;都需要下番功夫研究的。本文以MDK V4.03为例&#xff0c;详细的写一下MDK的设置、界面、工具。可能会有些…