私有CA和证书

证书类型

    证书授权机构的证书
    服务器
    用户证书

获取证书两种方法

    使用证书授权机构:
        生成签名请求(csr )
        将csr发送给CA
        从CA处接收签名
    自签名的证书:
        自已签发自己的公钥

openSSL工具可以满足我们创建CA和证书

    1)PKI: Public Key Infrastructure
        签证机构:CA (Certificate Authority),真正的颁发证件机构,相当于公安局
        注册机构:RA,相当于派出所
        证书吊销列表:CRL,相当于证件丢失时挂失的内容
        证书存取库:当别人请求认证是的资料库。

    2)数字证书的格式(X.509) :定义了证书的结构以及认证协议标准
        版本号
        序列号:CA用于唯一标识的此证书
        签名算法:
        颁发者:CA自己的名称
        有效期限
        主体名称:证书拥有者自己的名字
        主体公钥:证书拥有者自己的公钥
        CRL 分发点
        扩展信息
        发行者签名:CA对此证书的数字签名

    3)证书申请及签署步骤:
        1 、生成申请请求
        2 、RA 核验
        3 、CA 签署
        4 、获取证书

创建私有CA和颁发证书:

    openssl 的配置文件:
        /etc/pki/tls/openssl.cnf
        [ CA_default ]
        dir             = /etc/pki/CA           # Where everything is kept
        certs           = $dir/certs            # Where the issued certs are kept
        crl_dir         = $dir/crl              # Where the issued crl are kept
        database        = $dir/index.txt        # database index file.
        #unique_subject = no                    # Set to ‘no‘ to allow creation of
                                                # several ctificates with same subject.
        new_certs_dir   = $dir/newcerts         # default place for new certs.

        certificate     = $dir/cacert.pem       # The CA certificate
        serial          = $dir/serial           # The current serial number
        crlnumber       = $dir/crlnumber        # the current crl number
                                                # must be commented out to leave a V1 CRL
        crl             = $dir/crl.pem          # The current CRL
        private_key     = $dir/private/cakey.pem   # The private key

    三种策略:匹配、支持和可选
        匹配指要求申请填写的信息跟CA设置信息必须一致,
        支持指必须填写这项申请信息,
        可选指可有可无

    1)创建所需要的文件
        生成证书索引数据库文件:
            touch /etc/pki/CA/index.txt
            系统会自动生成个index.txt.attr文件,用来决定是否使证书为唯一性,也就是是否可以重复申请证书
        指定第一个颁发证书的序列号:
            echo 01 > /etc/pki/CA/serial  

    2)CA自签证书
        生成私钥:
            cd /etc/pki/CA/
            openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048
            chmod 600 cakey.pem
        生成自签名证书:
            openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out  /etc/pki/CA/cacert.pem

    3)颁发证书
        1》在需要使用证书的主机生成证书请求
            在请求者Kernal的web服务器生成私钥:
                (umask 066; openssl genrsa -out /etc/pki/tls/private/test.key 2048)

            在请求者Kernal上生成证书申请文件:
                openssl req -new -key /etc/pki/tls/private/test.key  -days 365 -out /etc/pki/tls/test.csr
        2》将证书请求者Kernal的文件传输给CA
        3》CA签署证书,并将证书颁发给请求者Kernal:
            openssl ca -in /tmp/test.csr –out  /etc/pki/CA/certs/test.crt -days 365
             注意:
                默认国家,省,公司名称三项必须和CA一致,但可以修改/etc/pki/tls/openssl.cnf
                common name要使用此主机在通信真实使用的名字
        4》查看证书中的信息:
            openssl x509 -in  /PATH/FROM/CERT_FILE -noout -  text|issuer|subject|serial|dates
            openssl ca -status SERIAL:查看指定编号的证书状态 

    4)吊销证书
        1》在客户端获取要吊销的证书的serial(序列号)
            openssl x509 -in /PATH/FROM/cert_FILE -noout  -serial -subject
        2》在CA 上,根据客户提交的serial 与subject信息,对比检验是否与index.txt 文件中的信息一致,吊销证书:
            openssl ca -revoke /etc/pki/CA/newcerts/0SERIAL .pem
        3》指定第一个吊销证书的编号
            注意:第一次更新证书吊销列表前,才需要执行
            echo 01 > /etc/pki/CA/crlnumber
        4》更新证书吊销列表
            openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
            查看crl 文件:
                openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text

    5)请求者Kernal作为下级CA
        1》Kernal生成自己的私钥:
            openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048
            chmod 600 cakey.pem
        2》Kernal向根CA申请证书:
            openssl req -new  -key  /etc/pki/CA/private/cakey.pem  -out  /etc/pki/tls/testsubca.csr
            将亲求文件发给根CA
        3》根CA颁发子CA证书给请求者Kernal,并发给Kernal:
            openssl   ca  -in  testsubca.csr  -out  /etc/pki/CA/certs/testsubca.crt
            将testsubca.crt发送给Kernal
            在kernal上讲testsubca.crt 改名为cacert.pem并放置在 /etc/pki/CA
        4》Kernal给请求者Berl颁发证书
            在请求者Berl的web服务器生成私钥
            在请求者Berl上生成证书申请文件
            将证书请求者Kernal的文件传输给Kernal(CA)
            Kernal(CA)签署证书,并将证书颁发给请求者Berl

原文地址:https://www.cnblogs.com/shenxm/p/8448691.html

时间: 2024-10-13 13:16:19

私有CA和证书的相关文章

Openssl加密文件及创建私有CA及证书

# cat /etc/redhat-release  CentOS release 6.6 (Final) # uname -r 2.6.32-504.el6.x86_64 首先我们先演示加密文件的方式: 拷贝一个文件到当前目录,使用openssl enc命令进行加密文件测试. 加密所用到的选项 # -e --> 加密选项 # -d --> 解密选项 # -des3 --> 选择加密的算法 # -a --> 基于文件进行编码 # -salt --> 自动添加杂质 # -in 

创建私有CA以及证书颁发详细步骤

准备两台主机,一台作为CA,IP地址为172.16.125.126:另一台作为用户,即证书请求的主机,IP地址为172.16.125.125. 在主目录为CA的相关信息就是CA所在主机.而主目录为ssl的相关信息就是客户机,即要使用到证书的主机. 第一步:在准备创建私有CA的主机上创建私有密钥:         [[email protected] CA]# cd /etc/pki/CA         [[email protected] CA]# (umask 077;openssl gen

https服务器的配置(三)创建私有CA和证书

首先在其他主机上创建一个私有的CA 假如我我现在就另外开一台虚拟机 登录进去 一.生存一对密钥(私钥和公钥,公钥可以在私钥中提取因此创建私钥就可以了) [[email protected] ~]#cd/etc/pki/CA [[email protected] CA]#(umask 077; opensslgenrsa –out private/cakey.pem 2048) 二.生成CA的证书 [[email protected] CA]# openssl req -new -x509-key

加密解密以及私有CA的实现

一.加密和解密 什么是加密:加密之前为明文,加密后是密文,将明文转换为密文的过程就是加密. 1. 对称加密 提供算法本身,加密和解密使用的是同一个密钥,用以保证数据的机密性.但安全性依赖于密钥,而非算法. 对称加密的优点是运算特别快:缺点是安全几乎全部依赖于密钥(算法基本上是公开的),当通信对象很多的时候,很难对密钥进行有效管理. 常见算法: DES(Data Encrption Standard):早期的算法,公开可以使用的,56bit密码长度,惨遭淘汰. 3DES:DES后DES再DES A

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

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

加密解密技术基础,pki以及自建私有CA

网络安全议题,几乎是业内人士避不开的话题,要做到网络安全,主要旨在三个方面的目标:保密性,完整性和可用性.本文在此主要对基础的加密和解密技术,ssl协议,以及ssl协议的实现实例做一些简要描述和梳理. 加密和解密: 目前对于网络安全的攻击,很大部分集中在"威胁保密性的攻击",也就是我们进场所说的数据泄露,加密和解密是目前最为直观的解决保密性问题的手段. 几种加密方式: 对称加密: 特点:加密和解密使用同一个密钥:将数据分割成多个固定大小的块,逐个加密: 缺点:密钥过多(对于服务器端,需

搭建私有CA

一.实验目的 搭建私有CA并使其可以实现公司内部的的签名服务. 二.实验环境: 系统架构:Centos7(服务器).Centos6(需要申请证书的服务器)需要的软件包:openssl.openssl-libs.libssl 三.配置文件解析 搭建CA需要/etc/pki/tls/openssl.cnf文件,该配置文件 由openssl-libs生成 该配置文件中我们主要关注一下这些选项,我只列出了需要关注的,源配置文件不关注的不要修改 [ ca ] default_ca = CA_default

本地私有CA的创建及证书的签署

一 创建私有CA 1.准备工作 1. 修改/etc/pki/tls/openssl.cnf中dir= ../../CA 为dir= /etc/pki/CA,否则可能会读取ca时出错 2.根据openssl.cnf中的要求在/etc/pki/CA目录下分别创建 private,certs,newcerts, crl目录和index.txt,serial文件,并且给echo 01 > serial中给serial文件中添加一个证书申请的第一个编号 2. 在CA目录下的private目录中生成一个ca

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

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