HTTPS证书验证流程及SSL证书生成步骤【附nginx开启https配置】

HTTPS-自己生成数字证书 一、获取证书的途径 自签名证书,适用于开发者测试HTTPS,最快速的途径就是生成自签名证书,非常方便。 Let’s Encrypt证书,可以使用免费CA机构签发的证书。 使用收费CA机构签发的证书,如果对证书安全性、兼容性、功能有特殊需求,可以向CA机构申请证书。 二、自签名证书 自签名证书是我们自己签发的,浏览器不会集成私有的CA机构的根证书,所以打开页面的时候会进行提示,用户选择信任证书之后,后续的通信就会进行加密保护的。 自签名证书的用途还是很广泛的,对于一些企业内部系统,由于购买证书需要成本,可 阅读详情

 

 

------------------------------------------------------------

HTTPS证书验证流程(极简化版)
    1.客户端向服务端请求证书(server.crt)
    2.服务端下发证书(server.crt)
    3.客户端用预制的受信任机构的证书(ca.crt)来验证服务端下发的证书(server.crt)是否合法,并且还会校验下发下来的证书里的域名与要请求的域名是否一致
    【以下步骤开启双向验证后才会触发】
    4. 客户端选择一个由受信任的机构(ca.crt)颁发的证书(client.crt)发送给服务端
    5.服务端用预制的受信任机构的证书(ca.crt)来验证客户端传来的证书(client.crt)是否合法

-----------------------------------------------------------------

以下是证书生成步骤及说明:

------------------------CA证书-------------------------------

1. 创建根证书密钥文件(自己做CA)ca.key:
    openssl genrsa -aes256 -out ca.key 2048
    #去除密码
    openssl rsa -in ca.key -out ca.key

2. 创建根证书的申请文件ca.csr:
    openssl req -new -sha256 -key ca.key -out ca.csr

3. 创建一个自当前日期起为期十年的根证书ca.crt【用来签名其它证书,并配置在客户端信任列表,如果开启双向验证,也需要配置在服务端】:
    openssl x509 -req -days 3650 -sha256 -extensions v3_ca -signkey ca.key -in ca.csr -out ca.crt

------------------------Server端要下发的证书---------------------------------
4. 创建服务器证书密钥server.key:
    openssl genrsa -aes256 -out server.key 2048
    #去除密码
    openssl rsa -in server.key -out server.key

5. 创建服务器证书的申请文件server.csr:
    openssl req -new -sha256 -key server.key -out server.csr

6. 创建自当前日期起有效期为期两年的服务器证书server.crt【配置在服务端,将会在客户端请求时下发给客户端】:
    openssl x509 -req -days 730 -sha256 -extensions v3_req -CA ca.crt -CAkey ca.key -CAserial ca.srl -CAcreateserial -in server.csr -out server.crt


------------------------Client端要下发的证书【开启双向验证后才需要】---------------------------------
7. 创建客户端证书密钥文件client.key:
    openssl genrsa -aes256 -out client.key 2048
    #去除密码
    openssl rsa -in client.key -out client.key

8. 创建客户端证书的申请文件client.csr:
    openssl req -new -sha256 -key client.key -out client.csr

9. 创建一个自当前日期起有效期为两年的客户端证书client.crt【配置在客户端】:
    openssl x509 -req -days 730 -sha256 -extensions v3_req -CA ca.crt -CAkey ca.key -CAserial ca.srl -CAcreateserial -in client.csr -out client.crt

------------------------各种格式转换---------------------------------

a. crt+key转pfx【pfx是证书安装包,方便在电脑上直接双击按向导安装证书】
    openssl pkcs12 -export -in client.crt -inkey client.key -out client.pfx

b. pfx转化为pem【curl需要pem格式文件】
    openssl pkcs12 -in client.pfx -nodes -out client.pem

c. crt+key转p12【apache的cxf客户端支持jks和p12证书】
    openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12

d. crt转jks【jks支持存放信任证书,而pkcs12不支持,所以tomcat环境下配置ca只能使用jks才能保证ca密钥不泄露】
    keytool -import -v -trustcacerts -storepass defaultpwd -keypass defaultpwd -file ca.crt -keystore ca_only.jks

---------------------------------------------------------
关于创建证书的申请文件(.csr)时的输入内容
    Country Name (2 letter code) [AU]:CN【国家代号,中国输入CN】
    State or Province Name (full name) [Some-State]:BeiJing【省的全名,拼音】
    Locality Name (eg, city) []:BeiJing【市的全名,拼音】
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:MyCompany Corp.【公司英文名】
    Organizational Unit Name (eg, section) []: 【可以不输入】
    Common Name (eg, YOUR name) []:【对于server.csr需要输入网站的域名以作校验,其余的csr可随意填写】
    Email Address []:admin@mycompany.com【电子邮箱,可随意填】

    Please enter the following ‘extra’ attributes
    to be sent with your certificate request
    A challenge password []:【可以不输入】
    An optional company name []:【可以不输入】

---------------------------------------------------------
多域名及域名通配符的支持方案
    域名通配符:
        “*”号为域名通配符,域名通配符仅作用在同级域名下,无法跨级
        例如:*.mydomain.com可匹配a.mydomain.com、b.mydomain.com等域名,不可匹配mydomain.com、a.b.mydomain.com等域名

    多域名:
        在生成server.crt的步骤添加如下参数:
            -extensions ext -extfile mydomain.com.ini

mydomain.com.ini文件内容:

[ ext ]
subjectAltName = @dns

[ dns ]
DNS.1 = mydomain.com
DNS.2 = *.mydomain.com

-----------------------nginx开启https配置--------------------------

 

server {
	#上线请将端口改为默认443
	listen       8443 ssl;
	server_name  your_domain;
	index  index.html index.htm;

	ssl                  on;
	ssl_certificate      /your/certs/path/server.crt;
	ssl_certificate_key  /your/certs/path/server.key;
	
	#以下两行注释用来开启双向验证
	#ssl_client_certificate /your/certs/path/ca.crt;
	#ssl_verify_client on;

	ssl_session_timeout  5m;
	
	location /your_https_path/ {
        proxy_pass_header Server;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Scheme $scheme;
        proxy_pass http://your_http_host:port/your_http_path/;
    }

}

 

-------------------------tomcat开启https配置【clientAuth用来开启双向验证】-----------------------------------

 

 


 
  1. <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"

  2. maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

  3. clientAuth="true" sslProtocol="TLS"

  4. keystoreType="PKCS12"

  5. keystoreFile="c:/server/certs/path/server.p12" keystorePass="defaultpwd"

  6. truststoreType="JKS"

  7.  
HTTPS证书创建 https数字证书申请与自签名证书部署 阅读详情

相关推荐

mkcert 使用指南:如何快速创建自签名 SSL 证书

文章首发于个人公号:「阿拉平平」 我们平时在本地开发时,有时会要求通过 HTTPS 请求来访问。一个通用的做法是用 OpenSSL 生成自签证书,然后对 Web 服务进行配置。但 OpenSSL 的命令比较繁琐,参数也比较复杂,用起来不够方便。于是我找到了一个替代方案:mkcert,和大家分享下。 项目介绍 mkcert 是一个用于生成本地自签名 SSL 证书的开源工具,项目基于 Golang 开发,可跨平台使用,不需要配置,支持多域名以及自动信任 CA。 准备工作 我准备模拟一个局域网内访问 Web .

Xpitz的博客 5885

自己生成一个https的证书

生成一个 HTTPS 证书和密钥可以通过使用 OpenSSL 工具来完成。以下是生成自签名证书和密钥的详细步骤。

u011649691的博客 7951

nginx配置ssl证书实现https访问(附图解)

最近项目上为了安全访问,需要把http请求升级到https,所以安装了nginx来配置SSL证书。我们的证书是客户购买阿里云服务器免费申请的,所以具体的申请是有客户完成的(这一块可以直接沟通阿里云售后),我们拿到的两个证书有两个文件,分别是:xxx.pem(公匙)文件和xxx.key(私匙)文件。下面开始具体安装。一、环境准备环境:xShell、xftp、nginx1.9.4注:本文采用xShel...

a_18397219871的博客 5万+

HTTPS生成数字证书

由于 HTTPS 具有良好的安全性,在开发中得到了越来越广泛 的应 像微信公众号 、小 程序 等的开发都要 使用 HTTPS 来完成。 在\j dk \ bin 录下 ,通过这个 工具可 以自己 生成一个数字证书, 生成命令如下: keytool -genkey -alias tomcathttps -keyalg RSA -keysize 2048 -keystore sang.p12 -validity 365 命令解释 • -genkey 表示要创 一个新的 密钥。 • alias 表示 keysto

F_qiu的博客 3865

docker部署的nginx配置ssl证书https

所有来自`ccaih.com`域名的HTTPS请求将被处理,并使用指定的SSL证书和私钥进行加密。`:指定SSL私钥文件的路径。`:配置SSL会话缓存的类型和大小,这里是共享的缓存,大小为1兆字节(MB)。`:指定该服务器块监听的端口是443,即HTTPS的默认端口。`:指定该服务器块的域名是`ccaih.com`。这个配置块是一个Nginx服务器块,用于配置`ccaih.com`域名的HTTPS服务。

qq_42553504的博客 2149

在Nginx中配置SSL证书

配置证书之前需要以下前置工作:部署Nginx:centOS7中使用Nginx部署静态网页申请 SSL 证书:按照阿里云 SSL 模块的文档正常申请证书;下载证书:下载证书最终得到一个 .key 文件和 一个 .pem 文件:key+pem接下来正式开始在 Nginx 上配置 SSL 证书: 2. 创建证书相关文件夹 3. 上传证书到服务器 可以使用 ssl 命令行来上传证书,但是这里使用 ftp 软件来进行上传,交互体验更好,直接拖进去就可以了:上传证书此时可以通过 vim 指令修改上一步中的 文件,但

m0_59092234的博客 1万+

nginx配置ssl证书实现https访问

配置ssl证书之前,先准备SSL证书,至于获取的途径很多(阿里云的服务,第三方服务购买)。这里不详细解释。以下是我的SSL证书 准备好证书后,找到nginx的安装目录,我的安装位置为:/usr/local/nginx 进入 config/nginx.conf 如果没有装winscp(一款可视化文件操作工具)的。可以通过命令行的方式,编辑nginx的config文件。 开始配置文件的修改 在修改配置文件之前,最好做一个备份,防止修改错误,也能及时回退错误 1、找到第一个监听..

YHJ 3万+

生成 HTTPS 证书并配置到 Nginx 的完整步骤

配置中包含自动重载 Nginx 的命令,这样每次证书续订后,Nginx 都会自动重载。安装证书并指定证书和密钥的存放路径。你可以将证书安装到 Nginx 的证书目录(例如。启用 HTTPS,并保证证书的自动续订和 Nginx 的自动重载。会在生成证书时临时启动一个 Web 服务器来完成域名验证。通常会自动设置证书续订任务。编辑 Nginx 配置文件(例如。请根据你的实际情况调整路径和端口。通过以上步骤,你应该能够成功为。),以包含 SSL 配置。

GP的空间 2049

Nginx配置SSL模块开启https总结

阅读本文前,请看下我写的Nginx安装部署(三步走) 了解下目录位置,1分钟就能看懂看完 一:开启SSL模式 1、查看目前nginx是否开启SSL /usr/local/nginx/sbin/nginx -V configure arguments:后面没有配置参数,未开启ssl 2、到nginx源码包配置 cd /usr/local/src/nginx-1.10.2/ ./configure ...

gaofeng的博客 4978

C++,使用Qt设计一个登录窗口

使用Qt设计一个登录界面

heyu0311的博客 2991

MDPI期刊投稿全流程解析:从注册到提交的实用指南

本文详细解析了向MDPI期刊投稿的全过程,从注册账号、完善个人资料、上传稿件,到填写作者信息、推荐审稿人及提交附信等关键步骤。指南强调了使用机构邮箱、遵循期刊模板、认真准备Cover Letter等实用技巧,旨在帮助作者高效、规范地完成投稿,避免常见错误,提升稿件处理效率。

weixin_29250403的博客 924

Nginx 配置新 SSL 证书并启用 HTTPS 的详细步骤

以下是 在 Nginx 配置新 SSL 证书并启用 HTTPS 的详细步骤,适用于手动安装证书或结合 Let's Encrypt 自动管理的情况:

moton2017的博客 2684

SystemC实战:用C++搞芯片建模的5个典型场景(含代码示例)

本文通过五个典型实战场景,详细介绍了如何使用SystemC这一基于C++的硬件建模库进行芯片设计与系统级建模。内容涵盖从基础并发模块构建、事务级总线建模、跨时钟域验证,到与ModelSim协同仿真及多核系统性能探索,并提供了完整的代码示例,帮助软件工程师利用熟悉的C++工具链高效参与硬件架构设计与验证。

weixin_29191761的博客 316

nginx 配置 SSL 证书实现 https 访问

获取SSL文件,并设置nginx实现https协议

地衣君的博客 2871

【Unity游戏开发】SDK接入与集成——小白入门篇

一、简介   通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地重复做接入SDK工作这样没有成就感,太尼玛无聊了(Android渠道一弄就十几个,直接吐血)。其实通常情况下接入SDK都是很简单的一个过程,本系列博客就让马三和大家从小白开始,从零基础开始学习如何接入SDK以及一些常见的SDK的...

weixin_34195142的博客 5763

【机器学习与数据挖掘实战 | 医疗】案例18:基于Apriori算法的中医证型关联规则分析

本案例针对三阴乳腺癌患者,经问卷调查收集数据并筛选处理形成原数据,经清洗、特征选择与变换后,构建Apriori模型,基于业务理解与建模结果,分析患者症状与中医证型关联,并据症状给出建议 。

Morse_Chen的博客 1380

nginx中配置https详解:配置SSL/TLS证书

在当今互联网环境中,网站安全性至关重要。SSL/TLS 协议为网站提供了加密通信的能力,保护用户数据免受窃听和篡改。本文将详细介绍如何在 Nginx 服务器上配置 SSL/TLS 证书,包括获取证书、配置 Nginx、强化安全性等完整流程。无论您是使用 Let’s Encrypt 的免费证书还是自签名证书,都能在本指南中找到对应的配置方法。通过本文的详细步骤,您已经学会了如何在 Nginx 服务器上配置 SSL/TLS 证书。

qq_55656748的博客 6619

2026年OPPO嵌入式岗位面试题带详细答案

本文总结了OPPO嵌入式岗位面试的核心考点,涵盖硬件驱动、系统启动、Linux内核开发等7大模块共34道典型题目。重点解析了SPI通信协议、中断处理、U-Boot启动流程、Linux驱动开发等关键技术,突出硬件调试与工程实践能力考核。题目设置贴合实际岗位需求,适合校招与社招驱动开发岗位应聘者系统复习,帮助掌握嵌入式开发的核心知识与面试要点。

Open 489

Nginx配置ssl证书(https)

如果有防火墙的话,记得开通443端口 安装nginx请看我的另一篇文章 《Nginx安装以及安装过程中遇到问题的解决方案》 准备材料: 1.申请ssl证书,这个如何申请可以到百度搜一下,因为域名服务商不同,这里不做过多赘述; 2.服务器上已安装nginx,并可以正常访问。 开始配置: 1.进入到nginx目录,查看有没有http_ssl_module模块 ./nginx -V 2.如果没有,找到源码,输入以下命令进行安装(如果有,跳转到第6步) #prefix后面的路径是你安装ngi.

ydZ157的博客 6万+

环保 HJ212协议解析

由于是做环保相关的,有时需要对212协议进行拆包和解包。HJ212协议是一种字符串协议,数据传输通讯包主要由包头、数据段长度、数据段、CRC校验、包尾组成,其中“数据段”内容包括请求编码、系统编码、命令编码、密码、设备唯一标识、总包数、包号、指令参数。请求编码为请求的时间戳,系统编码ST统一规定为22,命令编码CN为该数据包的时间类型,访问密码、设备唯一标识在对接时由平台提供,指令参数为数据内容。通讯协议的数据结构如图4所示。 图4 通讯协议的数据结构 6.1.1通讯包结构组成 名称 类型 长度

ccf19881030的专栏 2万+

EDEM-fluent耦合时出现的问题及摸索出的解决办法及DPM颗粒信息导出

EDEM-fluent耦合时出现的问题及摸索出的解决办法及DPM颗粒信息导出

zheaa的博客 5750

Java 部署:SSL 证书配置(Tomcat_Nginx 开启 HTTPS)

Java 部署中的 SSL 证书配置指南 摘要 本文详细介绍了在 Java 应用部署过程中配置 SSL 证书以启用 HTTPS 的方法。内容涵盖: HTTPS 的重要性及其安全机制 SSL 证书类型及免费获取方式(如 Let's Encrypt) Tomcat 直接配置 HTTPS 的完整流程(证书转换与 server.xml 配置) 生产环境推荐方案:Nginx 反向代理架构的优势与配置方法 常见问题解决方案与最佳实践建议 通过本文,开发者可以掌握在 Tomcat 和 Nginx 中配置 SSL 证书的核

千淘万漉虽辛苦,吹尽狂沙始到金 2万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Nginx配置ssl证书详细步骤

Nginx配置ssl证书详细步骤

学英语的程序员 2万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

nginx配置https的ssl证书和域名

在 Nginx 上部署 HTTPS 证书涉及几个步骤,包括生成密钥和证书签名请求(CSR)、获取 SSL/TLS 证书(可以是自签名证书或从证书颁发机构(CA)获取的证书),然后在 Nginx 配置文件中配置这些证书。以下是一个详细的指南: 生成私钥和CSR 首先,使用 OpenSSL 生成一个私钥(通常命名为 private.key)和一个证书签名请求(CSR,通常命名为 domain.cs...

唯有热爱 可抵万难 1881

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 自己搭建CA颁发证书做https加密网站
下一篇: discovery.zen.minimum_master_nodes深度解析
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值