OpenSSL 使用openssl工具搭建私有CA
SSL(安全套接层)是为网络通讯提供安全及数据完整性的一种安全协议,TLS(SSL的继承版本)与SSL在传输层对网络连接进行加密。
SSL用以保障在数据传输的安全利用数据加密技术,可确保数据在网络上之传输过程中不会被窃取和监听。
功能:机密性,认证,完整性,重放保护
两阶段协议,分为握手阶段和应用阶段
握手阶段(协商阶段):客户端和服务器端认证对方身份(依赖于PKI体系,利用数字证书进行身份认证),并协商通信中使用的安全参数、密码套件以及主密钥。后续通信使用的所有密钥都是通过MasterSecret生成。
应用阶段:在握手阶段完成后进入,在应用阶段通信双方使用握手阶段协商好的密钥进行安全通信
OpenSSL
OpenSSL:是ssl的开源项目
三个组件:
openssl: 多用途的命令行工具,包openssl
libcrypto: 加密算法库,包openssl-libs
libssl:加密模块应用库,实现了ssl及tls,包nss
openssl命令:
两种运行模式:交互模式和批处理模式
对称加密:openssl enc -e
openssl enc -e -des3 -a -salt -intestfile -out testfile.cipher//-a表示base64编码,-salt加盐添加杂质更安全,
对称解密:openssl enc -d
openssl enc -d -des3 -a -salt –in testfile.cipher -outtestfile
openssl dgst -md5 [-hex默认]/PATH/SOMEFILE
openssl dgst -md5 testfile
生成随机数 base64编码或16进制
opensslrand -base64|-hex NUM
非对称加密:
使用openssl生成密钥对公钥和私钥man genrsa
#openssl rsa -in private.key -out private.key2 //对加密的私钥解密
生成公钥:从私钥中提取公钥
#openssl rsa -in private.key-pubout -out public.key
二、CA实现双方安全交换公钥 搭建CA实验 用openssl向CA申请证书
CentOS7当服务器,CentOS6当客户端,CentOS6向CentOS7申请证书
dir 变量 存放CA的工作目录
certs =$dir/certs //专门放证书的
crl =$dir/crl //放证书吊销列表
database =$dir/index.txt //数据库索引文件记录了证书的状态啊编号啊以及都给谁颁发了证书默认不存在。需要手工创建,不创建会提示 缺少这个文件
-------------------------------------------------------------------------------------------------------
new_certs_dir =$dir/newcerts //存放新证书目录
certificate =$dir/cacert.pem //CA的证书文件
serial =$dir/serial //序列号下一个要颁发的证书编号 16进制数
crlnumber =$dir/crlnumber //吊销证书的编号 需要手工创建
crl =$dir/crl.pem //吊销证书列表
private_key =$dir/private/cakey.pem//私钥文件的路径和名
策略匹配/不同的策略匹配程度不一致,比如CA国家城市,部门等,私有CA(三个必须一致)公有CA(可选)
搭建CA具体步骤:
1.建立根CARoot CA(自己给自己颁发证书)
1)生成私钥文件
#(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096)
2)生成自签名证书 CA要有证书
#openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out/etc/pki/CA/cacert.pem -days 3650
//req:申请;-x509:自签名
//查看证书内容 openssl x509 -in cacert.pem -noout -text
//图形方式 sz cacert.pem 改后缀crt
2.用户服务器 申请证书
1)生成私钥
#(umask 077;openssl genrsa -out app.key 1024)
2)生成证书申请文件
#openssl req -new -key app.key -out app.csr
3)将申请文件发给CA
#scp app.csr 172.21.109.25:/etc/pki/CA
3.CA颁发证书--用自己的私钥签名
#touch index.txt //这个文件会自动更新
#echo 0F > serial //下一个要颁发的证书的编号
#openssl ca -in app.csr -out certs/app.crt-days 100
4.证书发送客户端
#scp certs/app.crt 172.21.111.1:/data
5.在应用软件中使用证书
OpenSSL 使用openssl工具搭建私有CA相关推荐
- openssl搭建私有CA
数据加密.CA.OpenSSL SSL security socket layer,安全套接字层 openssl (软件) 加密算法和协议: 对称加密:加密和解密使用同一密钥:(依赖于算法和密钥,其安 ...
- Openssl搭建私有CA认证
概述 CA英文全称Certification Authority,即数字证书认机构.从广义上来说,CA是负责发放和管理数字证书的权威机构,并作为用户数字认证中受信任的第三方,承担公钥体系(PKI)中公 ...
- 基于ssl协议和基于openssl工具创建私有CA
目录 前言 加密类型 对称加密: 公钥加密: 单项加密: ssl会话模型 openssl工具 建立私有CA: 服务器端自建CA ...
- Centos7中创建RSA非对称密钥对及搭建私有CA并为客户端颁发证书
Centos7中创建RSA非对称密钥对及搭建私有CA并为客户端颁发证书 1.在centos7中使用gpg创建RSA非对称密钥对 [13:32:55 root@centos7 data]#gpg --g ...
- Linux实现搭建私有CA服务器和证书申请颁发吊销
利用Openssl搭建私有CA 目标是为了向内网用户颁发证书,方便内部用户得到彼此的公钥 搭CA服务器实际表现为准备好相关的文件 第一步:创建CA对应的文件夹 CentOS 7中已存在CA内容的对应文 ...
- linux搭建ca服务器搭建,linux下安装EJBCA 搭建私有CA服务器
linux下安装EJBCA 搭建私有CA服务器 EJBCA是一个全功能的JAVA的CA系统软件,我们可以用此搭建私有CA服务器: 一:首先我的测试环境: 1. linux mint18.3 62位: ...
- 电脑ssl协议 linux,基于ssl协议和openssl工具建立私有CA
前言 要自建CA需先了解openssl工具和ssl协议还有各加密类型 ssl(Secure Socket Layer)安全套接字层当前版本为3.0,浏览器与Web服务器之间的身份认证和加密数据传输,它 ...
- Openssl加密文件及创建私有CA及证书
# cat /etc/redhat-release CentOS release 6.6 (Final) # uname -r 2.6.32-504.el6.x86_64 首先我们先演示加密文件的方式 ...
- Linux下Oenssl命令及搭建私有CA
一.Openssl常用命令: # openssl ? # 查看openssl的命令及子命令# man enc # 可以直接查看子命令帮助 加密: # openssl enc -des3 -e -sal ...
最新文章
- 判断 std map 中是否有 key
- 孩子学计算机最佳年龄,孩子学编程最佳年龄是几岁
- discuz加密解密,可参考下
- RTT的IPC机制篇——邮箱
- 乐视网:公司董事、总经理、财务总监张巍因个人原因辞职
- 面试—每日一题(8)
- android之Uniapp之Weex之module开发
- java基础之输入语句
- 前端用户体验提升系列(一)最常见的用户体验指标和提升方式
- 微软疑断自由软件开发者“活路”,禁止在微软商店发布商业开源
- urule决策引擎实现增量打包部署
- 信号量机制实现进程的互斥、同步、前驱
- trans系列是sci几区_怎么确定SCI是几区的?
- 阿里CEO张勇:“亲亲节”预示未来年轻人生活方式
- 【Word】公式“大括号”中的内容对齐
- 合并带附件的电子邮件
- Maven报错Original error: Could not transfer artifact
- Python的生成器函数
- NC65 添加客户档案 实战案例
- 过拟合解决方案 —— early stopping