Debian9 使用OpenSSL自建CA根证书服务器

一、安装OpenSSL
apt-get install openssl -y
二、创建CA所需的目录结构以及文件
mkdir /root/ca/{certs,newcerts,crl,private,requests}
cd /root/ca
touch index.txt
echo "1234" > serial
三、创建根私钥
openssl genrsa -aes256 -out ./private/cakey.pem 2048
PS:AES256是一种加密方式,代表该私钥使用该加密方式及进行保护(可选)
四、创建自签名证书
openssl req -new -x509 -key ./private/cakey.pem -out cacert.pem -days 3650
现在我们的目录结构里面应该会多了两个文件他们分别是:
./private/cakey.pem 根私钥
./cacert.pem 根证书
附加可选(权限设置):
chmod 600 -R /root/ca
目前为止我们的CA根证书颁发机构就完成了,接下来我们要使用根私钥来对证书请求进行签发
五、修改默认的openssl.cnf配置文件
vim /usr/lib/ssl/openssl.cnf
修改项:
dir = /root/ca
[ policy_match ]
countryName = optional
stateOrProvinceName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
六、创建客户端私钥
cd ./requests
openssl genrsa -aes256 -out webserver.key 2048
七、创建证书签发请求文件
openssl req -new -key webserver.key -out webserver.csr
八、使用根证书对请求文件进行签发
我在这里请求文件和根证书都在一台机器上做的测试,如果请求文件在另一台机器上面的话通过scp或者是别的方拷贝到根证书服务器上面
openssl ca -in /root/ca/requests/webserver.csr -out /root/ca/request/webserver.crt
webserver.crt就是通过根证书签发完成后的证书文件
为了调取方便,我们现在将用到的文件统一放到一个目录里为了方便我们以后使用:
mkdir /cacerts
cp /root/private/requests/webserver.key /cacerts/
cp /root/private/requests/webserver.crt /cacerts/
那么现在可用的文件就是:
webserver.crt //签发完成的证书
webserver.key //客户端私钥
cacert.pem //根证书(来自证书颁发机构)
openssl x509 -in webserver.crt -noout -text 查看证书信息
PS:如果Windows导入根证书的话PEM是不能识别的,所以需先将PEM文件后缀更改为crt即可
OK,现在证书文件就可以拿去使用了!!!!例如Apache2、Nginx......
作者:济南市技师学院-怀旭

原文地址:https://blog.51cto.com/13779637/2425003

时间: 2024-11-01 02:38:43

Debian9 使用OpenSSL自建CA根证书服务器的相关文章

使用OpenSSL 自建CA 以及颁发证书

OpenSSL是套开放源代码的软件库包,实现了SSL与TLS协议.其主要库是以C语言所写成,实现了基本的加密功能. OpenSSL可以运行在绝大多数类Unix操作系统上(包括Solaris,Linux,Mac OS X与各种版本的开放源代码BSD操作系统),OpenVMS与 Microsoft Windows.它也提供了一个移植版本,可以在IBM i(OS/400)上运作. 此软件是以Eric Young以及Tim Hudson两人所写的SSLeay为基础所发展的,SSLeay随着两人前往RSA

加密 解密过程详解及openssl自建CA  

            加密 解密过程详解及openssl自建CA 为了数据信息能够安全的传输要求数据要有一定的安全性那么数据的安全性包含哪些方面的特性呢?    NIST(美国信息安全署)做了如下的定义:    保密性:       1,数据的保密性 指的是数据或隐私不向非授权者泄漏                   2,隐私性  信息不被随意的收集    完整性:       1,数据的的完整性:信息或程序只能被指定或授权的方式改变不能被随意的             修改        

使用OpenSSL自建CA + Nginx配置HTTPS

Ubuntu 16.04(ECS),OpenSSL 1.0.2g  1 Mar 2016,Nginx 1.10.3 (Ubuntu), 浏览器:Chrome 67,Firefox 61,Edge 40,IE 11 序言 孤之前从来没有建立过HTTPS网站,感觉很高级.很难,虽然也读过不少博文.资料,十年前在大学时,也使用过OpenSSL操作过建立证书,但后来都忘记了. 前同事说建立HTTPS网站很容易的,当时自己是不信的,并发生了一些争论,在此表示歉意. 由于自己搭建了网站,提供了注册.登录功能

加密、解密原理和openssl自建CA过程详解

一.加密和解密相关知识简介 1.信息安全标准 NIST(National Institute of Standards and Technology)美国国家标准与技术研究院,制定了网络信息安全与保密的三个要素: 保密性(confidentiality):信息不泄露给非授权用户.实体或过程,或供其利用的特性.(一般包括数据保密性.隐私性.) 完整性(Integrity):数据未经授权不能进行改变的特性.即信息在存储或传输过程中保持不被修改.不被破坏和丢失的特性.(一般包括数据完整性.系统完整性.

互联网安全机制及OpenSSL自建CA

网络诞生的早期,能够接入网络的主机非常少,在当时基本上没有什么网络安全的概念,后来随着接入互联网的主机越来越多,之前的网络接入环境也越来越不适应后来网络的发展,俗话说"林子大了什么鸟都有"所以网络安全也越来越显得尤为重要,接下来这篇博文我们就浅谈一下网络安全的概念. 一:互联网安全的几大重要特征 网络安全几大重要标准:数据保密性:数据完整性:不可否认性.想要实现数据保密性需要对传输过程进行加密.要想让数据没有被非法授权,侵入,修改等破环行为,保护数据的完整性,需要对数据进行身份认证,而

加密、解密原理和openssl自建CA

openssl协议简介 SSL(Secure Socket Layer)是netscape公司提出的主要用于web的安全通信标准.一般情况下的网络协议应用中,数据在机器中经过简单的由上到下的几次包装,就进入网络,如果这些包被截获的话,那么可以很容易的根据网络协议得到里面的数据. SSL就是为了加密这些数据而产生的协议,可以这么理解,它是位与应用层和TCP/IP之间的一层,数据经过它流出的时候被加密,再往TCP/IP送,而数据从TCP/IP流入之后先进入它这一层被解密,同时它也能够验证网络连接俩端

利用openssl实现私有CA以及mysql服务器的ssl连接的配置

利用openssl实现私有CA以及mysql服务器的ssl连接的配置 一.CA简介 CA 也拥有一个证书(内含公钥和私钥).网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书. 如果用户想得到一份属于自己的证书,他应先向 CA 提出申请.在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者. 如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对

Linux OpenSSL自建CA

一.自建CA前准备 1.1 openssl的主配置文件: 在建立私有CA之前,先来了解一下openssl的主配置文件,其路径:/etc/pki/tls/openssl.cnf 用VIM查看此脚本,在[CA_default],可以查看CA很多默认选项,如下: dir: CA的主目录 certs: 已颁发证书的存储位置 crl_dir:已吊销证书的存储位置 database:证书索引文件 new_certs_dir:新颁发证书的存储位置 certificate:CA证书文件 serial:证书颁发时

Linux OpenSSL 自建CA

一.自建CA前准备 1.1 openssl的主配置文件: 在建立私有CA之前,先来了解一下openssl的主配置文件,其路径:/etc/pki/tls/openssl.cnf 用VIM查看此脚本,在[CA_default],可以查看CA很多默认选项,如下: dir: CA的主目录 certs: 已颁发证书的存储位置 crl_dir:已吊销证书的存储位置 database:证书索引文件 new_certs_dir:新颁发证书的存储位置 certificate:CA证书文件 serial:证书颁发时