使用XCA自制CA证书并签发https证书
序言
本文目的是使公司内网部署的Web可以使用https的方式访问
现有部署的系统有用域名访问,有用IP访问,但都是用http的方式
所以打算在公司内网部署统一的CA证书,并可以自己签发对应的域名和IP证书
使得可以用https的方式访问各Web系统
工具下载
XCA下载地址
Github:https://github.com/chris2511/xca
第一步,创建XCA数据库,这样所有的XCA数据都保存在这个文件里面。
创建了数据库后,就默认打开了这个文件
接下来我们在“私钥”界面要创建一个密钥
在“证书”界面创建CA证书
在“主体”页签,修改个性化信息
在“扩展”页签,主要配置证书的类型与时间
在“密钥用法”主要配置证书的用途
点确定后,在证书界面就创建了一个CA证书
第二步:把CA证书导出,然后导入到其它内网的所有电脑,以后这个CA签发的所有证书就都会自动信任
导出CA证书为crt文件,如果是andorid等移动设备,可以选择导出为cer类型文件
把证书导入到Windows,服务器与客户端都要导入此CA证书
在开始“运行”里面输入mmc,打开windows管理控制台
在“证书-->受信用的根证书颁发机构-->证书”下面点右键,选择导入
其它电脑同样按此操作,也可以双击crt文件导入,
主要是导入的位置一定是要在”受信用的根证书颁发机构“下面
第三步,使用CA证书签发域名与IP证书
我们签发一个证书,同时支持
IP:10.76.99.18
泛域名:*.liuju.cc
先在”私钥“这里创建一个*.liuju.cc的私钥
在”证书“页签,创建签名证书,
使用原来创建的CA进行签名
模板选择TLS_Server
在”主体“页签,配置好对应数据,选择新创建的私钥
在”扩展“页签里配置好证书的属性
类型为”最终实体“,有效期,
最主要的是配置 X509v3 Subject Alternative Name
这个主要就是我们要签名干什么的,
如果是域名,我们就写DNS:域名,
如果是泛域名,我们也写DNS,通用的地方用号
比如.liuju.cc 这样这个证书所有的以liuju.cc的域名都可以用
比如 www.liuju.cc,blog.liuju.cc都可以用这一个证书
如果是IP的类型,就写IP地址
如果:IP:10.76.99.18
在”密钥用法“页签,我们选择对应的类型,点OK后创建成功
第四步,导出签名证书,并导入至使用的服务器上
导出的类型要选择PKCS #12 chain(*.pfx)类型,这样会把对应的加密私钥也一同导出
在对应服务器安装后,才会有对应的私钥
导出pfx文件的时候,会要求输入密码,因为有私钥,所以要用密码保护
在对应服务器导入的时候,要输入这个密码才能导入成功
把文件复制到对应服务器,
然后双击_.liuju.cc.pfx
会显示证书导入向导
按向导的提示下一步就可以
选择证书的存储位置,CA证书我们要选择是”受信任的根证书颁发机构“
但是签名证书,我们可以让向导选择”根据证书类型,自动选择证书存储“
如果是签名证书,自动选择一般就是会导入到”个人“下面
这样我们在IIS里就可以新增加绑定https
输入对应的主机名,如:test.liuju.cc
并选择才导入的证书
当然这个域名我还没有通过DNS服务器解析到服务器
我们可以先在windows里修改一下host做本地解析
当然实际可以到域名提供商那里把对应DNS解析正确,效果是一样的
这样我们在客户端访问的时候,就是正常https访问了
同样,我们那个签名证书不也同样设置了IP也可以用吗
我们可以这样设置IIS,把对应IP也绑定为https
如下图这样
这样我们同样在客户端电脑用https的方式访问这个IP地址也是正常的
如下图所示
我们也可以看到这个证书在客户端的信息
至此,我们在内网用自己制做的CA证书,并给内网服务器的泛域名和IP签发证书就已经成功完成了
如果后继要给其它应用签发证书的话,
就只要重复上面的第三步就可以了。并在服务器导入就可以了。
当然前提是服务器和客户端都要导入CA证书
后续签名的证书只用在服务器端导入,不用在客户端导入。
因为客户端已经信任了CA证书,那么所有此CA签发的证书都是可以信任的
使用XCA自制CA证书并签发https证书的更多相关文章
- spring boot 自签发https证书
一.使用Jdk自带的工具生成数字证书,如下: Java代码 ./keytool -genkey -v -alias tomcat -keyalg RSA -keystore /root/tomca ...
- 自动签发https证书工具 cert manager
最近cert manager进行升级,不再支持0.11以下的版本了,所以进行升级.但是发现不能直接通过更改镜像版本来升级,在Apps里的版本也是旧版本,部署后发现不支持,于是自已动手,根据文档整理了一 ...
- 个人签发https证书
环境: jdk1.8 window7 cmder 1.生成证书库jks keytool.exe -genkeypair -alias www.bingco.com -keyalg RSA ^ -key ...
- IIS8中使用OpenSSL来创建CA并且签发SSL证书
前言 [转载]http://alvinhu.com/blog/2013/06/12/creating-a-certificate-authority-and-signing-the-ssl-certi ...
- 【转载】网站配置Https证书系列(一):腾讯云申请免费的SSL证书的流程步骤(即https安全连接使用的证书)
很多网站为了安全性考虑都会上https安全连接,此时就需要考虑使用SSL证书,其实在腾讯云这边提供有免费的SSL证书申请,登录腾讯云管理控制台后,进入SSL证书管理页面,里面有个申请免费证书.腾讯云申 ...
- Https、OpenSSL自建CA证书及签发证书、nginx单向认证、双向认证及使用Java访问
0.环境 本文的相关源码位于 https://github.com/dreamingodd/CA-generation-demo 必须安装nginx,必须安装openssl,(用apt-get upd ...
- HTTPS中CA证书的签发及使用过程
1,HTTPS 简单来讲,HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议就是安全的HTTP,我们知道HTTP是运行在TCP层之上的,HTTPS在 ...
- 自制Https证书并在Spring Boot和Nginx中使用
白话Https一文中, 介绍了Https存在的目的和工作原理,但多是偏向于原理性的介绍,本文介绍如何一步一步自制一个能够通过浏览器认证的Https证书,并讲解在Spring Boot环境和Nginx环 ...
- 自制Https证书并在Spring Boot和Nginx中使用(转)
白话Https一文中, 介绍了Https存在的目的和工作原理,但多是偏向于原理性的介绍,本文介绍如何一步一步自制一个能够通过浏览器认证的Https证书,并讲解在Spring Boot环境和Nginx环 ...
- CA证书扫盲,https讲解。
很多关于CA证书的讲解. 1.什么是CA证书. 看过一些博客,写的比较形象具体. ◇ 普通的介绍信 想必大伙儿都听说过介绍信的例子吧?假设 A 公司的张三先生要到 B 公司去拜访,但是 B 公司的所有 ...
随机推荐
- #Multi-SG#HDU 3032 Nim or not Nim?
题目 有\(n\)堆石子,每次可以从一堆中取出若干个或是将一堆分成两堆非空的石子, 取完最后一颗石子获胜,问先手是否必胜 分析 它的后继还包含了分成两堆非空石子的SG函数,找规律可以发现 \[SG[x ...
- #树链剖分,zkw线段树#nssl 1489 大冰隙2
题目 有一个长度为\(n\)的01数列\(a\)和一个长度为\(n\)的数列\(b\)表示权值 支持单点修改以及区间查询,\(0\)和\(1\)可以看作左括号和右括号, 将一段区间所有可匹配的的括号去 ...
- OpenHarmony系统使用gdb调试init
前言 OpenAtom OpenHarmony(简称"OpenHarmony")适配新的开发板时,启动流程init大概率会出现问题,其为内核直接拉起的第一个用户态进程,问题定位 ...
- C# 发布你的程序包到Nuget
1.新建一个.NET Standard 的类库项目 2.选择项目属性,在 package 栏目下填写我们的nuget包信息 3.选择我们的项目,点击"Pack" 打包 主要注意的是 ...
- Dev 控件 gridControl教程
Dev 控件 gridControl教程:https://www.bilibili.com/video/BV1gz4y1R7Wk/?spm_id_from=333.788.recommend_more ...
- 实训篇-Html-超链接a标签使用
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- css添加属性,让浏览器检查无法选中元素
1.表现 浏览器直接选中元素的时候,仅能直接选中整个body,想要找到具体元素,需要自己手动寻找,没太大实际作用,仅仅让不懂的人不能简简单单的直接定位元素然后修改里面的内容 pointer-event ...
- OpenSergo 正式开源,多家厂商共建微服务治理规范和实现
简介 OpenSergo,Open 是开放的意思,Sergo 则是取了服务治理两个英文单词 Service Governance 的前部分字母 Ser 和 Go,合起来即是一个开放的服务治理项目. ...
- 实时 OLAP, 从 0 到 1
简介: BTC.com 团队在实时 OLAP 方面的技术演进过程及生产优化实践. 作者|高正炎 本文主要介绍 BTC.com 团队在实时 OLAP 方面的技术演进过程及生产优化实践,内容如下: 业务背 ...
- Dapr 在阿里云原生的实践
简介: Faas 场景下,比较吸引用户的是成本和研发效率,成本主要通过按需分配和极致的弹性效率来达成.而应用开发者期望通过 FaaS 提供多语言的编程环境,提升研发效率,包括启动时间.发布时间.开发的 ...