X.509证书包含三个文件:key,csr,crt

key是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密
csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名
crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息
备注:在密码学中,X.509是一个标准,规范了公开秘钥认证、证书吊销列表、授权凭证、凭证路径验证算法等。

创建自签名证书的步骤

注意:以下步骤仅用于配置内部使用或测试需要的SSL证书。

第1步:生成私钥

使用openssl工具生成一个RSA私钥

$ openssl genrsa -des3 -out server.key 2048
说明:生成rsa私钥,des3算法,2048位强度,server.key是秘钥文件名。

注意:生成私钥,需要提供一个至少4位的密码。

第2步:生成CSR(证书签名请求)

生成私钥之后,便可以创建csr文件了。

此时可以有两种选择。理想情况下,可以将证书发送给证书颁发机构(CA),CA验证过请求者的身份之后,会出具签名证书(很贵)。另外,如果只是内部或者测试需求,也可以使用OpenSSL实现自签名,具体操作如下:

$ openssl req -new -key server.key -out server.csr
说明:需要依次输入国家,地区,城市,组织,组织单位,Common Name和Email。其中Common Name,可以写自己的名字或者域名,如果要支持https,Common Name应该与域名保持一致,否则会引起浏览器警告。

Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:joyios
Organizational Unit Name (eg, section) []:info technology
Common Name (e.g. server FQDN or YOUR name) []:demo.joyios.com
Email Address []:liufan@joyios.com

第3步:删除私钥中的密码

在第1步创建私钥的过程中,由于必须要指定一个密码。而这个密码会带来一个副作用,那就是在每次Apache启动Web服务器时,都会要求输入密码,这显然非常不方便。要删除私钥中的密码,操作如下:

cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

第4步:生成自签名证书

如果你不想花钱让CA签名,或者只是测试SSL的具体实现。那么,现在便可以着手生成一个自签名的证书了。

需要注意的是,在使用自签名的临时证书时,浏览器会提示证书的颁发机构是未知的。

$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

说明:crt上有证书持有人的信息,持有人的公钥,以及签署者的签名等信息。当用户安装了证书之后,便意味着信任了这份证书,同时拥有了其中的公钥。证书上会说明用途,例如服务器认证,客户端认证,或者签署其他证书。当系统收到一份新的证书的时候,证书会说明,是由谁签署的。如果这个签署者确实可以签署其他证书,并且收到证书上的签名和签署者的公钥可以对上的时候,系统就自动信任新的证书。

第5步:安装私钥和证书

将私钥和证书文件复制到Apache的配置目录下即可,在Mac 10.10系统中,复制到/etc/apache2/目录中即可

参考

https://www.gokuweb.com/operation/d95eae05.html

SSL/TLS的X.509证书相关推荐

  1. 关于精准打击自签名伪造SSL/TLS “受信任域名证书”的方案

    目前有两种方法可以实现精准打击 "自签名伪造SSL/TLS "受信任域名证书" 1.普通人可以实现的精准打击方案. 当 "SSL/TLS" 数据经过您 ...

  2. SSL/TLS协议原理与证书签名多种生成方式实践指南

    本章目录: 0x00 前言简述 CA 认证原理 PKI 公钥基础设施 0x01 自签名SSL证书生成 1.在线(脚本)生成 2.OpenSSL 生成 3.CFSSL 生成 0x03 cfssl 使用实 ...

  3. SSL/TLS(4): TLS连接握手过程详细分析

    SSL/TLS(1):基本概念通俗解释 SSL/TLS (2):通俗解释SSL/TLS为什么安全 SSL/TLS(3): CA证书解释 前言 在前面的文章中,我们讲述了SSL/TLS相关概念和CA证书 ...

  4. DotNet SSL TLS证书问题分析排障

    问题说明 前几天运维同事反馈开发同事代码在Windows 2008 R2 Datacenter服务器上跑会出现无法正常建立SSL/TLS连接的情况,在自己的电脑上跑是OK的,代码也没有变动过.于是我问 ...

  5. SSL/TLS协议详解(中)——证书颁发机构

    SSL/TLS协议详解(中)--证书颁发机构 本文翻译自:https://www.wst.space/ssl-part-3-certificate-authority/ 上一篇中,我们讨论了关于Dif ...

  6. 更新:为 NGINX 配置免费的 Let‘s Encrypt SSL/TLS 证书

    众所周知,网站的 SSL/TLS 加密会为您的用户带来更靠前的搜索排名和更出色的安全性.但目前有许多障碍阻碍了网站所有者采用 SSL. 其中两个最大障碍是证书获取成本高昂和所涉人工流程繁琐.而现在,有 ...

  7. 如何解决SSL/TLS证书服务的高可用性?

    背景介绍:2017年1月份,Google将Chrome 56中所有的 http站点标记为不安全,并对所有使用http方式的登录交互页发出醒目的"不安全"提示. Apple自2015 ...

  8. SSL/TLS证书1年有效期新规已至,被“证书过期”支配的恐惧又增加了!

    2020年9月1日起,两年期公共SSL/TLS证书正式告别了行业,在三大浏览器(Apple Safari. Google Chrome.Mozilla Firefox)的推动下,SSL/TLS证书最长 ...

  9. SSL/TLS证书过期了怎么办?

    如果SSL/TLS证书过期了,网站访问者可能会看到浏览器的安全警告,从而导致访问流量下降和用户体验受损.如果您的SSL/TLS证书过期了,可以考虑以下几种解决方案: 1.更新证书:最直接的方法是更新证 ...

  10. SSL/TLS证书有什么作用?

    SSL/TLS证书是由被称为证书颁发机构的第三方签署的,作用是防止攻击者创建伪造证书并将其作为合法证书进行传递.使用SSL/TLS协议可以确保数据安全通过网络传输.如果SSL/TLS证书失效了,还会有 ...

最新文章

  1. maven如何在eclipse上加载
  2. 2、程序包 Packages
  3. YZYZ菜鸟编程小助手
  4. 关于 \8 为56问题解答
  5. 领域模型架构 eShopOnWeb项目分析 上
  6. 根据百度的语音识别例子,展示C如何调用C++库
  7. VC中CListCtrl设置滚动条在最下边的方法(MSDN中的例子)
  8. USB 3.0连接器引脚、接口定义及封装尺寸
  9. Java:(游戏:豆机)
  10. “Project1.exe”(Win32): 已加载“C:\Windows\syswow64\ntdll.dll”。无法查找或打开 PDB 文件。 “Project1.exe”(Win32): 已加载
  11. bmi计算 python_Python中的BMI计算器
  12. 【Python 脚本报错】AttributeError:‘module‘ has no attribute ‘xxx‘的解决方法
  13. 还不了解什么是商业智能(BI)?看完这篇文章就懂了
  14. 应收应付重分类的配置和操作详解
  15. KVM--安装centos7虚拟机
  16. stm32流水灯程序设计实现
  17. Java 学习路线大全,再也不用迷路啦(持续更新)
  18. java传智百度_2018年4月传智黑马java
  19. ArcGIS对比MapInfo
  20. Docker-------网络模式

热门文章

  1. Qt实现判断鼠标左右键信号
  2. mysql查询最接近的记录
  3. mongodb查询分页优化(二)
  4. android分享数据到不同平台组件化
  5. Java8 中的真的 Optional 很强大,你用对了吗?
  6. 厉害了!为了干掉 HTTP ,Spring团队又开源 nohttp 项目!
  7. Python 必备要点总结及环境搭建(上)
  8. java面试题2018带答案_java面试题及答案下载
  9. C语言1379最小公倍数,求最小公倍数的三种方法
  10. 基于junit4的关于个人所得税计算的等价类与边界值_测试用例的设计方法--边界值分析方法...