工具介绍

  • OpenSSL是SSL/TLS协议的实现工具

  • key是私钥文件,用于对发送给客户端的数据加密,以及对从客户端接收的数据进行解密。

  • csr是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名。

  • crt是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息

操作步骤

1、生成证书

生成私钥

openssl genrsa -des3 -out myCA.key 2048
##openssl genrsa 用于生成RSA私钥,不会生成公钥,因为公钥提取自私钥
## -des3为加密方式
## 2048为生成秘钥长度
## 可以加上-nodes参数,禁止进行加密,即可不运行下面的消除密码

消除私钥key的密码

openssl rsa -in myCA.key -out myCA.key

生成pem文件

openssl req -utf8 -x509 -new -nodes -key myCA.key -sha256 -days 825 -out myCA.pem

2、创建CA签名证书

生成私钥

openssl genrsa -out server.key 2048

创建证书签名请求

openssl req -new -key server.key -out server.csr
##Common Name应该与域名保持一致,否则会引起浏览器警告

为扩展创建一个配置文件

>server.ext cat <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = www.baidu.com # Be sure to include the domain name here because Common Name is not so commonly honoured by itself
DNS.2 = www.sougou.com # Optionally, add additional domains (I've added a subdomain here)
IP.1 = 192.168.1.1 # Optionally, add an IP address (if the connection which you have planned requires it) EOF
## chrome 会查看当前域名是否在证书中声明,该声明由 subjectAltName 字段设置。上述的生成步骤默认未设置该字段。

创建签名证书

openssl x509 -req -in server.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial -out server.crt -days 3650 -sha256 -extfile server.ext

得到所需证书文件

server.crt

server.key

在linux系统通过OpenSSL工具自签https证书的更多相关文章

  1. linux系统监控常用工具

    linux系统监控常用工具 一.系统核心工具包(coreutils) 1./bin/df 报告系统的磁盘空间用量 df -h  显示磁盘分区fdisk -l 2./bin/uname 显示系统信息 u ...

  2. Linux系统监控实用工具Glances

    Linux系统监控实用工具Glances Glances安装 Glances安装要求:python >= 2.6 和 psutil >= 0.4.1 1.第一步,安装了python-> ...

  3. Linux系统IO分析工具之iotstat常用参数介绍

    Linux系统IO分析工具之iotstat常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 1>.安装iostat [root@flume115 ~]# yum - ...

  4. Linux系统IO分析工具之iotop常用参数介绍

      Linux系统IO分析工具之iotop常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在一般运维工作中经常会遇到这么一个场景,服务器的IO负载很高(iostat中的 ...

  5. Linux操作系统安全-OpenSSL工具常用命令介绍

    Linux操作系统安全-OpenSSL工具常用命令介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.OpenSSL开源项目有三个组件 openssl: 多用途的命令行工具,包 ...

  6. 关于kali linux系统的简单工具

    Linux系统中关于几个重要目录的原英文解释: /etc/: Contains configuration files of the installed tools /opt/: Contains M ...

  7. Linux系统中nc工具那些不为人知的用法

    Linux nc命令用法 参考地址:https://www.cnblogs.com/jjzd/p/6306273.html -g<网关>:设置路由器跃程通信网关,最多设置8个; -G< ...

  8. 使用OpenSSL工具制作X.509证书的方法及其注意事项总结

    版权声明:本文为博主原创文章.转载请注明出处. https://blog.csdn.net/Ping_Fani07/article/details/21622545 怎样使用OpenSSL工具生成根证 ...

  9. Linux常用的安全工具 转自https://yq.aliyun.com/articles/52540?spm=5176.100239.blogcont24250.8.CfBYE9

    摘要: 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://chenguang.blog.51cto.com/350944/85790 ...

  10. 自签https证书2(适配新版chrome,不会显示“不安全”)

    上一篇博文中介绍了自签https的方法,但是在新版的chrome中会出现这么一个问题:自签ca可以识别,但是证书仍然会判断不安全.为了解决这个问题,博主特地又查了好多资料,终于找到了解决方案. 当然, ...

随机推荐

  1. 应届生必看!23 个高质量 C++ 项目推荐,校招简历秒加分

    大家好,我是小康. 最近,不少同学私信我,临近毕业忙着找工作,想问有没有推荐的 C++ 项目,既能练手又能让简历更出彩.我也想起自己当年毕业时同样的焦虑,知道作为 C++ 后端开发的求职者,有几个实际 ...

  2. 基于Java+SpringBoot+Mysql实现的古诗词平台功能设计与实现七

    一.前言介绍: 1.1 项目摘要 随着信息技术的迅猛发展和数字化时代的到来,传统文化与现代科技的融合已成为一种趋势.古诗词作为中华民族的文化瑰宝,具有深厚的历史底蕴和独特的艺术魅力.然而,在现代社会中 ...

  3. python实现的扫雷游戏的AI解法(启发式算法)

    相关: python编写的扫雷游戏 如何使用计算机程序求解扫雷游戏 本文中实现的<扫雷>游戏的AI解法的项目地址: https://openi.pcl.ac.cn/devilmaycry8 ...

  4. ElementUI Select单选切换多选无法清除历史数据的解决方案

    背景: 有一个tab切换,每一个tab下都有一个 下拉框,只是一个是多选一个是单选,问题是当切换tab标签的时候,下拉框的样式不会被清空. 解决方案: 只需要在 el-select 上加一个 key ...

  5. 读书笔记-C#8.0本质论-02

    10. 接口 10.1 显式与隐式接口实现的比较 10.1.1 隐式接口 namespace ConsoleApp1; internal static class Program { internal ...

  6. 如何快速构建基于Spring4.0的Rest API(攻略)

    本文由 ImportNew - 邬柏 翻译自 javacodegeeks.如需转载本文,请先参见文章末尾处的转载要求. ImportNew注:如果你也对Java技术翻译分享感兴趣,欢迎加入我们的 Ja ...

  7. btrace一些你不知道的事(源码入手)

    背景 周五下班回家,在公司班车上觉得无聊,看了下btrace的源码(自己反编译). 一些关于btrace的基本内容,可以看下我早起的一篇记录:btrace记忆 上一篇主要介绍的是btrace的一些基本 ...

  8. golang操作ini文件包之go-ini

    官网:ini.unknwon.io/docs github:https://github.com/go-ini/ini ini 是 Windows 上常用的配置文件格式.MySQL 的 Windows ...

  9. 序列化-serialVersionUID作用

    Serializable接口 作用:标记一个类可以被序列化,如果没有实现该接口,则会抛出异常. ObjectOutputStream中源码: 实验: serialVersionUID 作用:表示一个序 ...

  10. 将.nuget文件夹从C盘移到其它盘,再也不用担心的C盘爆红了

    将.nuget文件夹从C盘移到其它盘,再也不用担心的C盘爆红了 命令 查看缓存文件夹的具体路径 dotnet nuget locals all --list 第一步 在文件资源管理器输入%AppDat ...