背景介绍

在生产环境中,有时会需要用到自签名的证书,而谷歌浏览器从2016年开始就降低了sha1的算法级别,openssl默认使用的是sha1的算法,以下就来介绍openssl如何使用sha256的加密算法对web站点进行加密。拓扑图如下:

操作步骤

1.安装httpd服务

yum -y install httpd

chkconfig httpd on

service httpd start

没有域名解析的话,httpd会启动很慢同时提示

解决的方法是修改httpd配置文件vim /etc/httpd/conf/httpd.conf

在/var/www/html目录下创建个index.html文件,随便写点内容作为主页,然后查看80端口是否正常侦听

2.为CA颁发自签名证书

首先需要说明的是,证书是一个由公钥和私钥组成的密钥对,所以颁发证书时需要先生成密钥对,所以进入/etc/pki/CA目录上生成一个密钥对并保存到/etc/pki/CA/private目录下取名为cakey.pem

Linux和windows不同不会因后缀名来区分文件类型,此处密钥对需要放在/etc/pki/CA/private目录下取名为cakey.pem的原因是在/etc/pki/tls/openssl配置文件中默认了CA密钥对和证书的路径和名称,如果不按照默认存放,请记得修改配置文件

还需要求改[ CA_dfault ]字段的default_md,此处是设置由这台CA颁发出去证书的加密算法

同时还要修改[ req ]字段的default_md,此处是设置CA自签名证书的加密算法,如果只给颁发证书的算法设置为sha256,在谷歌浏览器下仍会不被信任,原因是一个受信任的证书除了自身外,必须整个证书链都是受信任的

生成CA的自签名证书,证书名和路径要和配置文件保持一致,不再赘述,重点注意红框部分后面详细介绍

-new   申请一个新证书

-x509  证书格式标准

-key   密钥文件位置

-days  证书有效期

填写证书信息时要注意Common Name一定要和你要申请的名称保持一致

此时的/etc/pki/CA路径下并没有配置文件中的index.txt、serial、crlnumber文件,所以还需要手动创建

创建完成后设置一个初始证书颁发号,至此CA上的操作完成

3.Web站点申请证书

进入/etc/httpd目录下创建一个ssl目录,在该目录下为web服务器生成一个密钥http.key

再为Web服务器生成一个证书申请

仔细观察会发现,他和CA的自签名证书很相似,相比较CA的自签名证书少了-x509和-days两个参数,通过man req文档得知req命令使用-x509参数生成的是一个自签名证书而取代证书申请,所以此处不能使用-x509,且这只是个证书申请,证书的有效期应该有CA来指定,所以此处也不需要-days选项

由于CA与Web是同一台机器,所以不需要将申请拷贝到其他机器,直接颁发证书

httpd默认不会安装mod_ssl模块,无法使用https的方式访问,需要yum -y install mod_ssl手动安装,并找到mod_ssl的配置文件

打开mod_ssl的配置文件,按实际指定Web站点的证书文件与私钥文件路径,退出后使用httpd -t检查配置文件,然后重启httpd服务,至此Web站点配置完成

4.Client端配置

将CA的自签名证书/etc/pki/CA/cacert.pem导出到桌面,并改名为cacert.crt,然后通过MMC导入到受信任的根证书颁发机构

修改Client端本地host文件,至此Client端配置完成

5.检测

使用谷歌浏览器输入地址打开验证效果

转载于:https://blog.51cto.com/arkling/1840800

使用openssl给web站点颁发证书相关推荐

  1. openssl创建CA、申请证书及其给web服务颁发证书

    一.创建私有的CA   1)查看openssl的配置文件:/etc/pki/tls/openssl.cnf   2)创建所需的文件 touch /etc/pki/CA/index.txt   echo ...

  2. 使用Prometheus监控web站点及证书过期

    文章目录 配置详情 安装配置black_expoter 配置Prometheus支持black_expoter 配置告警规则 配置grafana 本文所指的web监控是指对某些访问地址或者说是接口进行 ...

  3. 三种方式实现web站点安全

    因为apache底层走的是tcp协议,而tcp协议是明文的,当你访问一些购物网站或银行网站办理业务时就非常不安全,因为是明文传递,容易被人抓包.为了实现apache站点安全,一般采用身份验证.来源控制 ...

  4. 发布安全Web站点详细攻略:ISA2006系列之十四

    用ISA发布安全Web站点 到目前为止,我们已经对ISA发布Web站点进行了很多介绍,但还没有涉及到安全Web站点.其实在很多领域,安全Web站点都由于高安全性而受到广泛应用,例如在电子商务,电子邮件 ...

  5. 使​​用Hashicorp Vault管理PKI并颁发证书

    使用vault搭建CA,即PKI Vault是一个加密的键值存储,旨在解决当今组织面临的许多挑战,无论是小型创业公司还是企业,它们都面临一些基本问题,其中一个是"秘密蔓延",其中意 ...

  6. VPN服务器配置、路由服务器配置、视频服务器配置、DNS服务器配置、DHCP服务器配置、E-mail服务器配置、FTP服务器配置、Web服务器配置、证书服务器配置及管理

    期末考核学习笔记记录 本文主要记录了VPN.路由服务.视频服务器.DNS服务器.DHCP服务器.E-mail服务器.FTP服务器.Web服务器.证书服务器的简单配置与管理.此为作者期末考核作业,配置过 ...

  7. Linux下如何颁发证书:学习使用openssl搭建一个CA

    这两天学习了openssl在LInux中的使用,openssl是一款开源的加密工具,在Linux环境下,我们能够利用它来搭建一个CA来实现证书的发放,可以用于企业内部使用的加密工具.在介绍openss ...

  8. 安装证书服务:为Web站点启用HTTPS

    为Web站点启用HTTPS 上篇介绍了PKI和数字证书的相关概念,下面将详细介绍如何安装证书服务. 上篇链接:http://yangshufan.blog.51cto.com/13004230/194 ...

  9. Linux下openSSL安装并颁发证书

    转载,原文出处:https://www.cnblogs.com/zgxblog/p/13696139.html 一.openssl检查安装 1.查看系统是否安装:openssl version -a ...

最新文章

  1. INSTALL PARSE FAILED INCONSISTENT CERTIFICATES错误解决方法
  2. Java 8 - Optional实战
  3. 计算机电缆zrdjypvp,ZRDJYPVP电缆什么标准
  4. uboot更改gpio电平_ECBM系列教程4:单片机的手和脚——GPIO
  5. 【Python】Pandas中的宝藏函数-applymap
  6. 新DELL服务器在F2设置界面下raid的配置
  7. MFC和Direct3D9一起使用
  8. Vue.js 2.0版
  9. RSA加密解密(附源码工程)
  10. php--------使用js生成二维码
  11. 每日的代码量真的重要么?
  12. java希尔排序的实例,Java 插入排序之希尔排序的实例
  13. 怎么多台计算机网络同传,使用网刻工具进行局域网内的网络同传
  14. 计算机组成原理--复习简答题+答案
  15. Windows10下安装MySQL5.0详细教程
  16. 【IoT】创业:一份价值主张画布送给你
  17. 亲历:IT 从业者避免猝死攻略 v1.0
  18. BLAM源码解析(四)—— 基于ICP的位姿更新
  19. 网络基础GPRS 中的PDP上下文名词解释
  20. 2021 Jiangsu Collegiate Programming Contest部分题解

热门文章

  1. 【jdk源码分析】ArrayList的size()==0和isEmpty()
  2. SSM开发 | 配合Mybatis,通过泛型实现 BaseService ,抽象增改删查方法
  3. [转发]R语言数据挖掘实践——使用party包构建决策树
  4. DFS、栈、双向队列:CF264A- Escape from Stones
  5. hasnMap的基本操作 源码(三)
  6. iOS:极光推送控制器跳转
  7. 通过form表单请求servlet资源代码
  8. 各种排序算法的js实现
  9. 敏捷开发一千零一问系列之一:序言及解决问题的心法(无我)
  10. 《我也能做CTO之程序员职业规划》写作过程重播之二