在企业内部使用openssl创建私有CA

随着计算机技术的发展,信息网络技术的应用日益深入,这些应用改进了企业工作方式,提高了工作效率。而如何确保在网络中传输的身份认证、机密性、完整性、合法性、不可抵赖性等问题成为企业进一步发展和推动企业信息化应用的关键。要解决这些问题,需要用到CA认证功能。而当企业的应用仅仅在企业内部实现时,我们只需要在企业内部自建CA服务器,完成认证功能,而无需采用第三方机构提供的CA,在总体上节省成本。

使用openssl可以实现企业内部自建CA,首先我们需要安装openssl 软件包,利用openssl创建CA服务器,其具体过程如下:

一、建立CA服务器:

1、生成密钥,CA服务器自己的密钥存放位置是/etc/pki/CA/private目录下,我们将生成的私钥文件保存在该目录下,操作如下:

# cd /etc/pki/CA

# (umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048

2、自签证书

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

这样在/etc/pki/CA目录下可以看到cacerts证书生成了,用来验证签名,下发的证书每个都有签名,当有客户端申请该CA服务器签发证书时,会将该CA服务器的证书信息置入为客户端提供的证书中,其中也包含该CA服务器的公钥信息,当多个其他节点相互通信时,各自证书中的CA服务器签名信息,就可以用来验证对方的身份,这样我们的CA服务器就基本建立起来了。

3、初始化工作环境

创建CA目录下index.txt和serial两个文件,index.txt是为其他客户端签署证书时记录的索引信息,serial文件是用来标记签署的证书的记录序列号信息。

# touch /etc/pki/CA/{index.txt,serial},同时需要为serial文件指定证书签署的其实数值,比如:

# echo 01 > /etc/pki/CA/serial

二、其他节点申请证书

(一)节点生成请求,假如这个节点是提供web服务的,我们将这个节点申请的证书保存在web服务的配置目录中,比如/etc/httpd/ssl目录中,步骤如下:

# cd /etc/httpd

# mkdir ssl

# cd ssl/

#  (umask 077;openssl genrsa -out /etc/httpd/ssl/httpd.key 2048);生成密钥对儿

# openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr;生成证书签署请求文件

请注意这里面生成的签署请求文件是为了CA签署以后其他节点确认自己的身份信息的,所以这里面的签署步骤中主机信息要提供自己主机信息。这样证书签署请求文件就生成了,然后发送给CA服务器,由CA服务器来签署之后再发送给客户端即可,其中challenge password是指CA服务器签署时需要使用的密码,建议设置为空。

由于是在企业内使用私有CA,这个文件可以私用scp命令复制给CA服务器即可:# scp httpd.csr 192.168.0.130:/etc/pki/CA/csr

CA服务器签署的方法,使用openssl的子命令ca来签署,-in 选项指定读入的文件 -out指定输出签署后的文件,同时还可以指定这个证书的使用期限,比如:# openssl  ca -in /etc/httpd/httpd.csr  -out /etc/httpd/httpd.crt -days 1000,而如果客户端在生成签署请求文件时,输入的信息错误,那么CA服务器在签署时会有如下的报错信息,就会提示出有哪些地方与服务器的CA配置信息不符合而造成无法签署的情况出现,如图:

这种情况下,我们就需要客户端重新生成签署请求文件,填写正确后CA服务器就可以正常签署了。如果客户端请求的csr文件配置信息正确,那么CA服务器端在签署时会有如下提示:

输入y就为客户端签署了证书,再将签署后的证书文件发送给客户端,这样以后客户端与其他节点通信时,它的身份信息就相当于由CA来做了公证而被认可,如果为多个客户端都提供签名数字证书后,企业内部的通信节点就可以基于自己的CA证书体系来通信了。

在企业内部使用openssl创建私有CA,布布扣,bubuko.com

时间: 2024-10-24 01:36:02

在企业内部使用openssl创建私有CA的相关文章

使用OpenSSL创建私有CA、签署证书

OpenSSL工具包是Linux上SSL v2/v3和TLS v1协议的实现方式之一,并建提供了常用的加密解密功能. OpenSSL主要由三部分组成: 1:libcrypto:加密库,主要用来实现加密.解密的功能库 2:libssl:实现SSL服务器端功能会话库 3:openssl命令行工具:/usr/bin/openssl 本文仅是介绍如何通过openssl命令创建私有CA,以及如何申请证书.签署证书等过程. 证书主要包含的就是拥有者自身的属性信息.公钥以及CA的签名,核心就是用户的公钥.服务

使用OpenSSL创建私有CA

使用OpenSSL创建私有CA 首先确认安装了openssl和openssl-libs [[email protected] ~]# rpm -qa | grep openssl openssl-libs-1.0.1e-42.el7.x86_64 openssl-1.0.1e-42.el7.x86_64 配置文件/etc/pki/tls/openssl.cnf是ini风格的,其中比较常用的配置就是CA自身的配置和req发证请求相关的配置.配置文件中各配置项的作用描述得很详细了,没必要逐项解释,需

使用 OpenSSL 创建私有 CA:3 用户证书

OpenSSL 创建私有 CA 三部曲:使用 OpenSSL 创建私有 CA:1 根证书使用 OpenSSL 创建私有 CA:2 中间证书使用 OpenSSL 创建私有 CA:3 用户证书 在前文<使用 OpenSSL 创建私有 CA:2 中间证书>中我们介绍了如何创建中间证书,并生成证书链.本文我们将介绍如何为应用生成用户证书(web 站点的 ssl 证书),并把证书部署到应用服务器上和客户端上.说明:本系列文章的演示环境为 Ubuntu 18.04,OpenSSL 的版本为 1.1.0g.

SSL及其开源实现OpenSSL+创建私有CA

SSL:Secure sockets Layer 安全套接字层,是工作于传输层和网络之间,利用加密和解密技术,保障应用层各应用程序在网络传输过程中安全传输.主要版本有V1.0, V2.0, V3.0,目前常用版本是V2.0. SSl会话主要三步: 客户端向服务器端索要并验正证书: 双方协商生成"会话密钥": 双方采用"会话密钥"进行加密通信: 其中前两步称为会话握手,主要可分为四个阶段: 第一阶段:ClientHello:客户端向服务器端发送会话,内容如下: 支持的

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

创建私有CA: openssl的配置文件:/etc/pki/tls/openssl.cnf 1.创建所需要的文件 #touch index.txt #echo 01 > serial # 2.给CA发证 <CA自签证书> #(umask 077; openssl genrsa -out private/cakey.pem 2048) # openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /e

OpenSSH的应用和利用OpenSSL创建私有CA签证给httpd服务器开https

https http over ssl = https 443/tcp                ssl: v3                tls: v1 https:// SSL会话的简化过程                (1) 客户端发送可供选择的加密方式,并向服务器请求证书:                (2) 服务器端发送证书以及选定的加密方式给客户端:                (3) 客户端取得证书并进行证书验正:                    如果信任给其发

OpenSSH的应用和利用OpenSSL创建私有CA签证给httpd服务器开起https

一.OpenSSH OpenSSH与SSH协议是远程登录的首选连接工具.它加密所有流量,以消除窃听,连接劫持和其它攻击.OpenSSH常常被误认以为与OpenSSL有关系,但实际上这两个项目的有不同的目的,不同的发展团队,名称相近只是因为两者有同样的软件发展目标──提供开放源代码的加密通讯软件. OpenSSH的套件包括以下工具: 远程操作使用 SSH, SCP,和 SFTP. 密钥管理 ssh-add, ssh-keysign, ssh-keyscan和ssh-keygen 服务端组成 ssh

OpenSSL创建私有CA

1.编辑/etc/pki/tls/openssl.cnf [ CA_default ] dir             = /etc/pki/CA           # 工作目录certs           = $dir/certs            # 客户端证书保存位置crl_dir         = $dir/crl              # 证书吊销列表database        = $dir/index.txt #证书列表new_certs_dir   = $dir/