OpenSSL(私有CA)

一、相关环境
1.系统环境

2.软件环境

二、OpenSSL相关文件

1.配置文件


2.相关选项

二、OpenSSL:创建私有证书签发机构CA步骤

在确定配置为CA的服务器主机上生成一个自签证书,并为CA提供所需要的目录及文件;

在真正的通信过程中CA服务器主机不需要网络参与,只需要参与到签名中,不需要提供服务

  1.生成私钥;

~]# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)

因为在默认配置文件中默认配置/etc/pki/CA/private/cakey.pem,所以指定目录和文件名要和配置文件一致

wKioL1aPCOWTno1lAAHDWpax0Kw301.jpg

  2.生成CA自签证书;

          req - PKCS#10 certificate request and certificate generating utility,证书请求及生成工具;

[[email protected] tmp]# man req

wKiom1aPCL6xJ27aAADQWnrHrbY384.jpg

~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655

              /etc/pki/CA/cacert.pem:配置文件中第一的目录及文件名称  

-new:生成新证书签署请求;

-x509:生成自签格式证书,专用于创建私有CA时;

-key:生成请求时用到的私有文件路径;

-out:生成的请求文件路径;如果自签操作将直接生成签署过的证书;

-days:证书的有效时长,单位是day;

注意:

1)-key /etc/pki/CA/private/cakey.pem指明的是私钥的位置,知识因为此处会自动抽取出私钥中的公钥

2)req只能发起签署请求,需要加-x509参数实现自己发出请求,自己签署。非自签无需增加此参数

wKiom1aPCMjBB-SEAAPoGzliXHo264.jpg

[[email protected] tmp]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655

      ====================================填写证书请求相关信息=======================================

You are about to be asked to enter information that will be incorporated into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.‘, the field will be left blank.



Country Name (2 letter code) [XX]: # 两个字符表示的国家代码,CN为中国

State or Province Name (full name) []: # 省或洲的完整名称

Locality Name (eg, city) [Default City]: # 所在位置的名称(默认为城市)

Organization Name (eg, company) [Default Company Ltd]: # 组织机构名称(默认为公司)

Organizational Unit Name (eg, section) []: # 组织机构单元名称(eg.部门)

Common Name (eg, your name or your server‘s hostname) []: # 持有者名或者所在服务器主机名(即域名)

Email Address []: # 管理员邮件地址,可以省略

    ================================================================================================

  3.为CA提供所需的目录及文件;

        ~]# mkdir  -pv  /etc/pki/CA/{certs,crl,newcerts}   #当不存在时需要创建签发证书、吊销证书、新证书目录

        ~]# touch  /etc/pki/CA/{serial,index.txt}   #创建证书序列号文件、证书索引文件

        ~]# echo  01 > /etc/pki/CA/serial          # 第一次创建的时候需要给予证书序列号

wKiom1aPCNGROuarAALaFb1jY-0436.jpg

三、OpenSSL;服务申请证书签署实现SSL安全通信

 要用到证书进行安全通信的服务器,需要向CA请求签署证书;

需要签署的服务无需和CA证书签署机构主机在同一台服务器上。

    此处以httpd服务为例进行演示,步骤如下:

演示环境:

httpd服务放置172.16.249.210主机(此处为rpm包安装)

wKioL1aPCQDDWkCEAAEYveFMHKI944.jpg

CA私有签机构放置172.16. 249.18主机:

wKioL1aPCQrwsRifAAIBzb8XPA0330.jpg

  1.用到证书的服务器生成私钥;

         ~]# mkdir  /etc/httpd/ssl  

         ~]# cd  /etc/httpd/ssl

         ~]# (umask  077; openssl  genrsa -out  /etc/httpd/ssl/httpd.key  2048)   # 生成私钥

              生成httpd服务的私钥创建时候无需在/etc/pki/CA创建,/etc/pki/CA目录仅在创建CA主机时候

wKiom1aPCOThiloPAAGASNpnvNM524.jpg

  2.生成证书签署请求

        ~]# openssl  req  -new  -key  /etc/httpd/ssl/httpd.key  -out /etc/httpd/ssl/httpd.csr  -days  365

                1) *.csr表示证书签署请求文件

                2)要保证和签署机构CA签署机构信息一致

wKiom1aPCO3TjJrZAANreKGDHqE787.jpg

  3.将请求通过可靠方式发送给CA主机

          ~]# scp  /etc/httpd/ssl/httpd.csr  [email protected]:/tmp/

wKioL1aPCRjD***2AACu_WHGEiM513.jpg

  4.在CA主机上签署证书

         ~]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365

                      *.crt:表示证书文件

                      -days :签署证书的有效期

注意:此处需要自己去查看信息是否正确,并确定是否给予签署证书

wKioL1aPCSLiKmtaAAPZ6a-sqPs536.jpg

  5.查看所签署的证书信息

          方法一:~]# cat  /etc/pki/CA/index.txt

wKiom1aPCPvjdxCfAAC8VggKWf0855.jpg

                      V:表示已经签署的

                      01:表示证书序列号

                      /C=CN/ST=Beijing/O=… ...:  表示主题信息(主题标示)

         方法二:查看证书中的信息(CA或者服务端均可):

        ~]# openssl  x509  -in /etc/pki/CA/certs/httpd.crt  -noout  -serial  -subject

                       -serial :序列号   -subject:主题信息

wKiom1aPCP-gmS13AADaLgDGKfE704.jpg

  6.将CA签署机构的.crt证书发送给服务器

       ~]#  scp  /etc/pki/CA/certs/httpd.crt  [email protected]:/etc/httpd/ssl

    注意:第一次进行主机间基于ssh的scp操作会接收一个证书,Queue要你那认证

wKioL1aPCTDz4NpfAAIKbQcNO1s991.jpg

7.删除服务器和CA主机上签署前的*.csr文件,确保安全

httpd主机:~]# rm -rf /etc/httpd/ssl/httpd.csr

CA主机:~]# rm -rf /tmp/httpd.csr

四、OpenSSL:私有CA证书签署机构吊销证书

1.客户端获取要吊销的证书的serial(在使用证书的主机上执行)

~]# openssl x509 -in /etc/pki/CA/certs/httpd.crt -noout -serial -subject

wKioL1aPCTTiBKRtAAGKNLOArLQ073.jpg

2.CA主机吊销证书

     先根据客户提交的serial和subject信息,对比其与本机数据库index.txt中存储的是否一致;

     在/etc/pki/CA/crets/*下生成证书后,会在/etc/pki/CA/newcrets/*以对应证书命名为SERIAL.pem文件存放

wKiom1aPCRPSaUfiAANKOGMJ9OQ686.jpg

 吊销:

openssl ca -revoke /etc/pki/CA/newcerts/SERIAL.pem 其中SERIAL要换成证书真正的序列号:eg. 01.pem

wKioL1aPCUCQ72KSAAC-hpFwx2o912.jpg

3.生成吊销证书的吊销编号(第一次吊销证书时执行)

echo 01 > /etc/pki/CA/crlnumber

wKiom1aPCRrx6JiSAAB1Kg9aYOk479.jpg

4.更新证书吊销列表

openssl ca -gencrl -out thisca.crl

wKiom1aPCRyB8sqXAACEmF02TAg768.jpg

5.查看crl文件:

openssl crl -in /PATH/FROM/CRL_FILE.crl -noout -text

原文地址:http://blog.51cto.com/13921683/2174601

时间: 2024-11-05 18:30:02

OpenSSL(私有CA)的相关文章

Linux之加密解密基础、openssl及CA基础应用

加密解密基础简介 数据在网络中传输过程中要保证三个要点: (1)数据的完整性:防止数据在传输过程中遭到未授权用户的破坏或篡改 (2)数据的机密性:防止文件数据泄漏给未授权用户从而让其利 (3)数据的可用性:保证授权用户能按需访问存取文件数据 因此加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密).加密技术包括两个元素:算法和密钥.算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来

私有CA服务器的搭建

openssl是实现ssl协议的应用程序,可以使用yum install -y openssll来安装,构建私有CA之前先来了解openssl的使用: openssl的主配置文件:/etc/pki/tls/openssl.cnf [CA_default] dir:CA的主目录 certs:已颁发证书的存储位置 crl_dir:已吊销证书的存储位置 database:证书索引文件 new_certs_dir:新颁发证书的存储位置 certificate:CA证书文件 serial:证书颁发时的当前

加密/解密&利用OpenSSL构建私有CA

在互联网安全及个人隐私状况日益严峻的今天,加密技术变得尤为重要并且不可或缺.在密码雪中,加密是指将明文信息隐匿起来,使之在缺少特殊信息时不可读.本文所讲的主要是在互联网传输数据时所用的加密方式.我们都知道OSI&TCP/IP网络参考模型,通常我们会把这两个模型分为通信子网和资源子网两部分,但是在构建网络的初期,信息从发送端送达到接受端都非常困难所以在设计模型之初并没有考虑过多的安全因素,以至于通信子网和资源子网都没有涉及到数据加密的内容.为了解决这个问题,网景公司在资源子网和通信子网之间添加了半

linux网络数据传输的加密,解密以及基于openssl的私有CA的建立

网络数据传输的安全性是计算机通信领域的重要课题,数据加密就是保证数据安全性的主要方法.所谓数据加密,即是通过某种算法和秘钥对数据明文进行处理,从而得到密文的过程.计算机网络通信过程中的加密形式主要有以下几种: 1,对称加密,用同一个密钥对信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密.对称加密算法的优点是算法公开.计算量小.加密速度快.加密效率高,但秘钥有时会很多,难以管理.而且秘钥交换又是一个难以解决的问题. 常见算法: DES:Data Encryption Standard,

openssl搭建私有CA

数据加密.CA.OpenSSL SSL security socket layer,安全套接字层 openssl (软件) 加密算法和协议: 对称加密:加密和解密使用同一密钥:(依赖于算法和密钥,其安全性依赖于密钥而非算法) 常见算法:des  3des(常用)  idea  cast5 特性:加密.解密使用同一密钥:将明文分隔成固定大小的块,逐个进行加密 缺陷:密钥过多和密钥分发 非对称加密: 密钥对儿:公钥(public key)和私钥(secret key) 公钥从私钥中提取而来,使用公钥

使用Openssl构建私有CA

使用Openssl构建私有CA Openssl是SSL的开源实现,是一种安全机密程序,主要用于提高远程登录访问的安全性.也是目前加密算法所使用的工具之一,功能很强大. Openssl为网络通信提供安全及数据完整性的一种安全协议,包括了主要的密码算法.常用的密钥和证书封装管理功能(CA)以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用,例如我们将会使用Openssl实现私有CA,并实现证书颁发. OpenSSL:SSL的开源实现 libcrypto:通用加密库,提供了各种加密函数 lib

openssh及openssl创建私有CA

ssh:secure shell,protocol ,监听TCP22,提供安全的远程登陆服务 OpenSSH:ssh协议的开源实现 dropbear:另一个开源实现 SSH协议版本: V1:基于CRC-32做MAC(消息认证码),不安全:容易受man-in-middle攻击 v2:双方主机协议选择安全的MAC方式 基于DH算法做秘钥交换,基于RSA或DSA算法实现身份认证 两种方式的用户登录认证: 口令:基于Passwd 基于KEY OpenSSH: C/S C:ssh,scp,sftp win

加密、解密   以及OpenSSL建立私有CA

加密.解密,以及OpenSSL建立私有CA 加密技术是互联网最常用的安全保密手段,其利用技术手段把重要的数据加密后传送,到达目的地后再用相同或不同的手段进行解密. 加密技术包括两个元素:算法和密钥 常用的加密技术:对称加密.非对称加密.单向加密 以上几种加密技术各有千秋,经常组合起来使用 1.对称加密 加密和解密使用同一个密钥,将明文分隔成固定大小的块,逐个进行加密: 常见算法:DES  3DES  Twofish  IDEA  IDEA  CAST5  RC6 Blowfish 2.非对称加密

加密解密基础及openssl构建私有CA初步

方今社会,互联网的普及给我们的生活带来了极大的便利,但任何事物都有其两面性:窗户打开了,阳光和新鲜的空气进来了,苍蝇也进来了.如何在利用互联网带来便利的同时,又尽量规避其风险,保护自己网络通信中信息的安全及私密,成为了一个热门话题,下面本文将主要探讨两个方面的问题,不当之处还请各位前辈不吝斧正. (一)加密解密基础 首先要搞清楚的一个问题是,我们平时的网络通信存在哪些风险呢?目前互联网上常见的攻击方式有两种:主动攻击和被动攻击.主动攻击包括报文伪装.重复.消息篡改.拒绝服务等:被动攻击主要是监听