使用pki的ca颁发证书需要交使用费,而这时又不想花钱,就可以自建ca。

密钥颁发机构

CA:Certification Authority 数字证书认证中心,解决数字证书所有者公开的公钥身份确认。一般是可信任的第三方机构。

RA:Registration Authority 数字证书注册审批机构,给申请数字证书者发放证书,发放前对申请者进行审合登记,它是CA的延伸机构。

PKI:Public Key Infrastructure,公钥基础设施,由密钥管理(发放,吊销),密钥合法性验证,认证机构,密钥发放等组成。为数据完整性,隐私性,数据身份认证等提供基础服务。

通用证书认证协议标准由x.509定义。有三个版本,

CA搬发的证书包含了以下内容(x.509最新版本)

版本号:证书格式使用x.509的那个版本。用来区分不同版本

证书序列号:在CA中的维一标识。用一个整数标识。

算法参数:给此证书签名时使用到的算法

发行者名称:由谁颁发

有效期限:证书有效使用时间

主体名称:证书拥有者名称,由申请者自己填写。如果用在主机上,此名称必须为主机名。

公钥:最关键的部分,由申请者自己填写。

发行者的ID:颁发此证书机构的维一标识

主体ID:给证书拥有者的维一ID

其它信息:

CA签名:CA用自己的私钥对此证书的特征码加密。以保证此证书的合法性。

ca工作时必须要有以下目录和文件

/etc/pki/CA

/etc/pki/CA/certs              存放证书数据

/etc/pki/CA/crl                  存放证书吊销列表

/etc/pki/CA/newcerts             存放已发放证书

/etc/pki/CA/private           存放CA自己的私钥,私钥的权限为400.

/etc/pki/CA/index.txt        证书索引
/etc/pki/CA/serial             创建序列号,记录签发过多少个证书。

/etc/pki/CA/crlnumber         证书的吊销列表

openssh建立ca的步骤和节点申请步骤

ca操作

1,为自己生成密钥

2,为自己签署证书

3,返还签署后的证书

节点操作

1,生成密钥对

2,生成证书签署请求(包含自己的公钥,主机名,自己的名称)

3,把请求发送给证书注册机构。等待ca签署。

openssl req 子命令

-x509:生成自签证书

-days n:指定证书的有效天数,n为数字

-news:新证书申请请求

-key:指明私钥文件名称

-out:指定签署过后文件名

示例:

建立ca服务器

# cd /etc/pki/CA

# (umask 077; openssl genrsa -out ./private/cakey.pem 1024 )          #给自己生成密钥

Generating RSA private key, 1024 bit long modulus

..................................++++++

...........++++++

e is 65537 (0x10001

[root@wukui CA]# openssl req -new -x509 -key ./private/cakey.pem -out ./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) []:BJ            #所在的省
Locality Name (eg, city) [Default City]:wukui     #所在的城市
Organization Name (eg, company) [Default Company Ltd]:wukui.com     #所在组织名称
Organizational Unit Name (eg, section) []:tech                     #所在组织下级部门名称
Common Name (eg, your name or your server's hostname) []:wukui.wukui.com   #个人名字或主机名字,如果是给主机使用,此处必须是主机完整名称。
Email Address []:wukui@wukui.com   #联系邮箱

[root@wukui CA]# ll cacert.pem                   #查看生成的证书
-rw-r--r-- 1 root root 1054 Aug 2 12:33 cacert.pem

[root@wukui CA]# touch index.txt                     #创建证书索引
[root@wukui CA]# echo 01 > serial                    #创建序列号,记录签发过多少个证书。

[root@wukui CA]# echo 01 > crlnumber            #创建证书吊销列表文件

节点主机申请证书方法

[root@bogon /]# mkdir /etc/ca    #创建目录用来保存证书文件
[root@bogon /]# cd /etc/ca

[root@bogon ca]# (umask 077; openssl genrsa -out ./www.key 1024 )   #为自己生成密钥文件www.key
Generating RSA private key, 1024 bit long modulus 
................++++++ 
..........++++++ 
e is 65537 (0x10001) 
[root@bogon ca]# ll 
total 8 
-rw------- 1 root root 887 Jul 27 01:03 www.key

[root@bogon ca]# openssl req -new -key ./www.key -out ./www.csr 
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) [GB]:CN 
State or Province Name (full name) [Berkshire]:BJ 
Locality Name (eg, city) [Newbury]:wukui 
Organization Name (eg, company) [My Company Ltd]:wukui.com 
Organizational Unit Name (eg, section) []:ops 
Common Name (eg, your name or your server's hostname) []:www.wukui.com 
Email Address []:wukui@wukui.com

Please enter the following 'extra' attributes 
to be sent with your certificate request 
A challenge password []:                                     这里指定生成的请求列表是否加密码,如果有密码,ca在查看时需要密码。不输入密码为空。
An optional company name []:

[root@bogon ca]# ll www.csr                             查看生成的申请列表文件
-rw-r--r-- 1 root root 692 Jul 27 01:14 www.csr

把列表文件发送到ca,等待ca签署完成后取回证书。

ca操作

# openssl ca -in www.csr -out www.crt -days 10

把www.crty文件返还到节点服务器。

吊销证书操作

节点服务器把证书编辑发给ca,获取证书编号命令

#openssl x509 -in  filename -noout -serial -subject   :获取证书编号

ca端操作

# openssl ca -revoke /etc/pki/CA/newcerts/filename.pem   :回收证书

# openssl ca -gencrl -out/etc/pki/CA/crl/thisca.crl              #更新吊销列表

转载于:https://blog.51cto.com/wukui/1535049

openssl私有ca创建相关推荐

  1. openssl私有CA证书签发与单双向认证

    什么是CA? CA是数字认证中心的简称.指的是发放.管理.废除数字证书的机构. CA的作用: 检查证书持有者身份的合法性.签发证书(在证书上签字),以防证书被伪造或篡改,以及对证书和密钥进行管理. 建 ...

  2. 网络通信中的加密解密及openssl和创建私有CA详解

    本文大纲: 1.为什么网络通信要进行数据加密? 2.数据加密方式有哪些?它们是如何进行加密的? 3.通信中是如何进行数据加密传输的? 4.https方式进行数据传输的具体流程 5.SSL 的实现工具O ...

  3. 创建私有CA及私有CA的使用

    CA分为公共信任CA和私有CA,若想使用公共信任的CA需要很多的money,如果想要在有限范围内使用CA认证方式,可以自己创建一个.下面了解一下CA及其创建方法: CA的配置文件为 /etc/pki/ ...

  4. 在CentOS8上实现私有CA和证书申请

    私有CA创建的参看配置文件 /etc/pki/tls/openssl.cnf [root@y_zilong ~]# cat /etc/pki/tls/openssl.cnf [ CA_default ...

  5. openssl 创建私有CA

    创建私有CA: openssl的配置文件:/etc/pki/tls/openssl.cnf 1.创建所需要的文件 #touch index.txt #echo 01 > serial # 2.给 ...

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

    随着计算机技术的发展,信息网络技术的应用日益深入,这些应用改进了企业工作方式,提高了工作效率.而如何确保在网络中传输的身份认证.机密性.完整性.合法性.不可抵赖性等问题成为企业进一步发展和推动企业信息 ...

  7. openssl工具的使用以及创建私有CA

    openssl软件包在安装之后,主要会生成三段重要内容:加密库 ssl相关库文件 openssl命令行工具 下面就来介绍一下openssl命令行工具的使用: openssl和yum类似,有着许许多多的 ...

  8. openssl创建私有ca

    openssl创建私有ca 1.ssl大概内容 PKI:公钥基础设施结构 CA:证书权威机构,PKI的核心 CRL:证书吊销列表,使用证书之前需要检测证书有效性 证书存储格式常见的X509格式 包含内 ...

  9. 基于ssl协议和基于openssl工具创建私有CA

    目录 前言 加密类型           对称加密:           公钥加密:           单项加密: ssl会话模型 openssl工具 建立私有CA: 服务器端自建CA        ...

最新文章

  1. 后端常用开源组件合集(持续更新中)
  2. 关于HTML下overflow-y:auto无效、清除HTML默认边距、解决去除手机访问网页时的左右多余空白的三个方法汇总
  3. FLV封装格式分析器
  4. SAP Commerce Accelerator和SAP Spartacus的技术对比
  5. LeetCode 265. 粉刷房子 II(DP)
  6. VBA - 字典实例集锦
  7. 拼团功能实现 php_PHP实现微信提现功能
  8. 中国数码摄像机市场趋势报告、技术动态创新及市场预测
  9. VFP+6.0中文版教程--初级教程
  10. matlab计算均值和方差
  11. 联通pt952g 光猫管理员密码获取
  12. 解决WINDOWS2008上不识别EMULEX COE 11102万兆卡的问题
  13. AR/VR/MR三者之间的区别和联系
  14. GMap.Net 实现离线地图
  15. oracle 修改lsnrctl,ORACLE LSNRCTL密码及忘记密码处理
  16. elasticsearch _cat命令使用详情
  17. Python干货项目:【新闻急先锋】新闻API获取谷歌头条新闻
  18. YzmCMS轻量级开源CMS v6.1
  19. 初识CityEngine
  20. java编程题身高排队_身高排队算法-(较优解):12个高矮不同的人,排成两排,每排必须是从矮到高排列,而且第二排比对应的第一排的人高,问排列方式有多少种?...

热门文章

  1. 为什么阿里巴巴禁止使用存储过程?
  2. 你的Redis怎么持久化的
  3. ​Openresty最佳案例 | 第8篇:RBAC介绍、sql和redis模块工具类
  4. 【pandas学习笔记】DataFrame
  5. 综述:如何给模型加入先验知识
  6. 输入示例,自动生成代码:TensorFlow官方工具TF-Coder已开源
  7. 卧槽!华为大佬整理的Linux学习笔记和资料不小心流落到了外网.……
  8. SHELL中的三神器:管道、重定向、backtick
  9. 2019年9月全国程序员工资统计,看看你拖后腿了没?
  10. Spring基础专题——引言