Linux环境下生成openssl证书注意细节介绍

一、环境:CentOS7,Openssl1.1.1k。

二、概念:

根证书:是生成服务器证书和客户端证书的基础,也可以叫自签发证书,即CA证书

服务器证书:由根证书签发,配置在服务器。

客户端证书:由根证书签发,配置在客户端。也可以配置在web服务器,安装在浏览器。

对称加密:用一个密码加密文件,然后解密也用同样的密码。

非对称加密:加密用的一个密码,而解密用另外一组密码。包括以下两种情况:

用于加密数据时:公钥加密,私钥解密

用于文件签名时:私钥签名,公钥验签

三、步骤:

1、查看openssl的配置文件openssl.cnf

vim /etc/pki/tls/openssl.cnf

2、创建为根证书CA所需的目录及文件

cd /etc/pki/CA

#创建配置文件信息中所需的目录及文件

mkdir -pv {certs,crl,newcerts,private}

touch {serial,index.txt}

3、指明证书的开始编号

echo 01 >> serial

4、生成根证书

# 生成CA私钥(ca.key)
openssl genrsa -des3 -out ca.key 2048
# 生成CA证书签名请求(ca.csr)
openssl req -new -key ca.key -out ca.csr
# 生成自签名CA证书(ca.cert)
openssl x509 -req -days 3650 -in ca.csr -signkey ca.key -out ca.crt

5、生成服务器证书

# 生成服务端私钥(server.key)
openssl genrsa -des3 -out server.key 2048
# 生成服务端证书签名请求(server.csr)
openssl req -new -key server.key -out server.csr
# 使用ca证书签署服务端csr以生成服务端证书(server.cert)
openssl ca -days 3650 -in server.csr -out server.crt -cert ca.crt -keyfile ca.key

6、生成客户端证书

# 生成客户端私钥(client.key)
openssl genrsa -des3 -out client.key 2048
# 生成客户端证书签名请求(client.csr)
openssl req -new -key client.key -out client.csr
# 使用ca证书签署客户端csr以生成客户端证书(client.cert)
openssl ca -days 3650 -in client.csr -out client.crt -cert ca.crt -keyfile ca.key

7、查看证书内容

openssl x509 -in server.crt -noout -text

8、将crt转换为pem

openssl x509 -in ca.crt -out ca.pem -outform PEM

openssl x509 -in server.crt -out server.pem -outform PEM

openssl x509 -in client.crt -out client.pem -outform PEM

9、剥离私钥key的密码

openssl rsa -in server.key -out serverkey.pem

openssl rsa -in client.key -out clientkey.pem

生成后的证书列表:      

        

到此这篇关于Linux环境下生成openssl证书注意细节介绍的文章就介绍到这了,更多相关Linux生成openssl证书内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Linux 中的 Openssl命令及实例代码

    openssl命令的格式是"openssl command command-options args",command部分有很多种命令,这些命令需要依赖于openssl命令才能执行,所以称为伪命令(pseudo-command),每个伪命令都有各自的功能,大部分command都可以直接man command查看命令的用法和功能. OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用.在Ope

  • linux下安装openssl、swoole等扩展的详细步骤

    OpenSSL是一个开源的ssl技术,由于我需要使用php相关功能,需要获取https的文件所以必须安装这个东西了.下面给大家介绍下linux下安装openssl.swoole等扩展的详细步骤,一起看看吧! 编译安装 先来看编译安装的php,如果需要安装新的扩展,这里以安装openssl扩展为例进行说明 1.找到php源码目录,我们这里的源码位于 /opt/download/php-5.5.30 ,如果找不到了,查看当前php版本,通过 wget http://cn2.php.net/distr

  • linux openssl基础介绍

    现行网上银行和电子商务等大型的网上交易系统普遍采用HTTP和SSL相结合的方式.服务器端采用支持SSL的Web服务器,用户端采用支持SSL的浏览器实现安全通信.     SSL是Secure Socket Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输.Netscape公司在推出第一个Web浏览器的同时,提出了SSL协议标准,目前已有3.0版本.SSL采用公开密钥技术.其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持.目前,利用公开密钥技术

  • Linux环境下生成openssl证书注意细节介绍

    一.环境:CentOS7,Openssl1.1.1k. 二.概念: 根证书:是生成服务器证书和客户端证书的基础,也可以叫自签发证书,即CA证书 服务器证书:由根证书签发,配置在服务器. 客户端证书:由根证书签发,配置在客户端.也可以配置在web服务器,安装在浏览器. 对称加密:用一个密码加密文件,然后解密也用同样的密码. 非对称加密:加密用的一个密码,而解密用另外一组密码.包括以下两种情况: 用于加密数据时:公钥加密,私钥解密 用于文件签名时:私钥签名,公钥验签 三.步骤: 1.查看openss

  • Linux环境下快速搭建ftp服务器方法介绍

    本文研究的主要是Linux环境下快速搭建ftp服务器方法,具体如下.首先看看ftp的介绍: FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上

  • 在Linux环境下安装Kafka

    目录 二.生产与消费 2.1 kafka-topics.sh 用于管理主题 2.2 kafka-console-consumer.sh用于消费消息 2.3 kafka-console-producer.sh用于生产消息 2.4 具体操作 一.环境准备 jdk下载地址链接:下载地址 zookeeper下载地址链接:下载地址 kafka下载地址链接:下载地址 1.1 Java环境为前提 1.1.1 上传jdk-8u261-linux-x64.rpm到服务器并安装 # 安装命令 rpm -ivh jd

  • linux环境下安装PHP的OpenSSL扩展的方法讲解

    先安装依赖包:yum install openssl openssl-devel 进入PHP安装包里的OpenSSL文件夹,根据个人的安装包位置不同,此处是 cd /home/local/php.5.6.25/ext/openssl/ phpize 可能会报错:Cannot find config.m4. Make sure that you run /usr/local/bin/phpize in the top level source directory of the module, 在当

  • Linux环境下Apache开启https服务的方法详解

    本文实例讲述了Linux环境下Apache开启https服务的方法.分享给大家供大家参考,具体如下: 首先申请SSL证书,以阿里云为例,找到域名管理: 免费开启SSL证书: 配置单域名免费证书:(有效期一年) 点击确定,验证证书: 审核成功后可以下载证书: 下载Apache的SSL证书: 解压出来这三个我放到了Apache安装目录/etc/httpd/cert下面 httpd.conf 里面加这个(引入conf.d文件夹下面的全部conf): Include conf.d/*.conf 运行这两

  • Linux环境下部署Consul集群

    目录 1.Consul概念 1.1什么是Consul? 1.2Consul的特点 1.3Consul架构 1.4Consul的应用场景包括服务发现.服务隔离与服务配置 2.Consul在linux上的集群部署 2.1前期准备 2.2集群部署 1.Consul概念 1.1什么是Consul? Consul是一种服务网格解决方案,是HashiCorp公司推出的开源组件,由Go语言开发,部署起来很容易,只需要极少的可执行程序和配置.同时Consul也是一个分布式的,高度可用的系统,它附带了一个简单的内

  • Linux环境下python2.7.6升级python3.5.2

    需求 Linux环境下有些是自带的Python2版本有时是刚安装号的Python其他版本,当新版本出来的时候,在开发的时候往往会选择新版本的软件进行安装. 原因 在开发的时候选用新版本的软件进行安装的时候,出于以下角度来考虑的. 老版本的一些第三方软件库会随着新版本软件的更新,老本版所支持的第三方库就没有人去维护和更新了,后面在使用的过程中,如果出现了bug,就会花很大的精力去解决. 步骤 基于上面的要求,我将生产虚机上的ython2.7.6升级python3.5.2,主要步骤如下所示: 去py

  • Linux环境下段错误的产生原因及调试方法小结

    最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的"段错误"(Segmentation Fault).借此机会系统学习了一下,这里对Linux环境下的段错误做个小结,方便以后同类问题的排查与解决. 1. 段错误是什么 一句话来说,段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址.访问了系统保护的内存地址.访问了只读的内存地址等等情况.这里贴一个

  • linux环境下安装mysql8.0过程介绍

    目录 前言 一.linux更改yum源(如果MYSQL安装慢可以试) 二.版本 三.安装 四.查看临时密码 五.配置外网可以访问 六.测试 七. 数据库卸载 八. 问题 总结 前言 借助同事写得笔记和自己在配置过程中遇到的坑,做一下记录. 一.linux更改yum源(如果MYSQL安装慢可以试) 简介:因为是官方yum,可能会导致安装比较慢,我们切换到国内的源. 第一步:进入yum配置文件目录 cd /etc/yum.repos.d/ 第二步:备份配置文件(如果后续出现了问题就可以恢复): mv

  • Linux环境下安装mysql5.7.36数据库教程

    下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads 上传到服务器 rz -be 解压文件 tar -xvf mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz 再移动并重命名一下 mv mysql-5.7.36-linux-glibc2.12-x86_64 /usr/local/mysql 创建mysql用户组和用户并修改权限 groupadd mysql useradd -r -g mys

随机推荐