zoukankan      html  css  js  c++  java
  • openssl搭建CA证书服务器

    安全机制概述

    信息安全防护的目标

    • 保密性 Confidentiality
    • 完整性 Integrity
    • 可用性 Usability
    • 可控制性Controlability
    • 不可否认性 Non-repudiation

    安全防护环节

    • 物理安全:各种设备/主机、机房环境
    • 系统安全:主机或设备的操作系统
    • 应用安全:各种网络服务、应用程序
    • 网络安全:对网络访问的控制、防火墙规则
    • 数据安全:信息的备份与恢复、加密解密
    • 管理安全:各种保障性的规范、流程、方法安全

    安全攻击: STRIDE

    • Spoofing 假冒
    • Tampering 篡改
    • Repudiation 否认
    • Information Disclosure 信息泄漏
    • Denial of Service 拒绝服务
    • Elevation of Privilege 提升权限

    5安全设计基本原则

    • 使用成熟的安全系统
    • 以小人之心度输入数据
    • 外部系统是不安全的
    • 最小授权
    • 减少外部接口
    • 缺省使用安全模式
    • 安全不是似是而非
    • 从STRIDE思考
    • 在入口处检查
    • 从管理上保护好你的系统

    安全算法

    常用安全技术
    • 认证
    • 授权
    • 审计
    • 安全通信
    密码算法和协议:
    • 对称加密
    • 公钥加密
    • 单向加密
    • 认证协议
    Linux系统:OpenSSL, gpg(pgp协议的实现)
    加密需要
    不加密流量的易受攻击性
    • 密码/数据嗅探
    • 数据操作
    • 验证操作
    • 相当于邮寄明信片
    不安全的传统协议
    • telnet、FTP、POP3等等;不安全密码
    • http、smtp、NFS等等;不安全信息
    • Ldap、NIS、rsh等等;不安全验证

    对称加密算法

    对称加密:加密和解密使用同一个密钥
    DES:Data Encryption Standard,56bits
    3DES:
    AES:Advanced (128, 192, 256bits)
    Blowfish,Twofish
    IDEA,RC6,CAST5
    特性:
    1. 加密、解密使用同一个密钥,效率高
    2. 将原始数据分割成固定大小的块,逐个进行加密
    缺陷:
    1. 密钥过多
    2. 密钥分发
    3. 数据来源无法确认10

    非对称加密算法

    公钥加密:密钥是成对出现
    公钥:公开给所有人;public key
    私钥:自己留存,必须保证其私密性;secret key
     特点:
    • 用公钥加密数据,只能使用与之配对的私钥解密;反之亦然
    功能:
    •  数字签名:主要在于让接收方确认发送方身份
    • 对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方
    • 数据加密:适合加密较小数据
     缺点:
    • 密钥长,加密解密效率低下
     算法:
    • RSA(加密,数字签名),DSA(数字签名),ELGamal

    非对称加密

    基于一对公钥/密钥对
    用密钥对中的一个加密,另一个解密
    实现加密:
    接收者
    •     生成公钥/密钥对:P和S
    •     公开公钥P,保密密钥S
    发送者
    •     使用接收者的公钥来加密消息M
    •      将P(M)发送给接收者
     接收者
    •     使用密钥S来解密:M=S(P(M))
    实现数字签名:
    发送者
    •     生成公钥/密钥对:P和S
    •     公开公钥P,保密密钥S
    •     使用密钥S来加密消息M
    •     发送给接收者S(M)
    接收者
    • 使用发送者的公钥来解密M=P(S(M))
    • 结合签名和加密
    • 分离签名

    CA和证书

    PKI: Public Key Infrastructure

    • 签证机构:CA(Certificate Authority)
    • 注册机构:RA
    • 证书吊销列表:CRL
    • 证书存取库

     X.509:定义了证书的结构以及认证协议标准

    • 版本号
    • 序列号
    • 签名算法
    • 颁发者
    • 有效期限
    • 主体名称
    • 主体公钥
    • CRL分发点
    • 扩展信息
    • 发行者签名

    证书获取

    证书类型:

    • 证书授权机构的证书
    • 服务器
    • 用户证书
    获取证书两种方法:
    • 使用证书授权机构
    • 生成签名请求(csr)
    • 将csr发送给CA
    • 从CA处接收签名
    自签名的证书
    • 自已签发自己的公钥

    安全协议

    • SSL: Secure Socket Layer
    • TLS: Transport Layer Security
      • 1995:SSL 2.0 Netscape
      • 1996: SSL 3.0
      • 1999: TLS 1.0
      • 2006: TLS 1.1 IETF(Internet工程任务组) RFC 4346
      • 2008:TLS 1.2 当前使用
      • 2015: TLS 1.3
    功能:
    • 机密性,认证,完整性,重放保护
    两阶段协议,分为握手阶段和应用阶段
    •     握手阶段(协商阶段):客户端和服务器端认证对方身份(依赖于PKI体系,利用数字证书进行身份认证),并协商通信中使用的安全参数、密码套件以及主密钥。后续通信使用的所有密钥都是通过MasterSecret生成。
    •     应用阶段:在握手阶段完成后进入,在应用阶段通信双方使用握手阶段协商好的密钥进行安全通信

    SSL/TLS 

    • Handshake协议:包括协商安全参数和密码套件、服务器身份认证(客户端身份认证可选)、密钥交换
    • ChangeCipherSpec 协议:一条消息表明握手协议已经完成
    • Alert 协议:对握手协议中一些异常的错误提醒,分为fatal和warning两个级别,fatal类型错误会直接中断SSL链接,而warning级别的错误SSL链接仍可继续,只是会给出错误警告
    • Record 协议:包括对消息的分段、压缩、消息认证和完整性保护、加密等
    • HTTPS 协议:就是“HTTP 协议”和“SSL/TLS 协议”的组合。HTTP over SSL”或“HTTP over TLS”,对http协议的文本数据进行加密处理后,成为二进制形式传输

    OpenSSL

    OpenSSL:开源项目
    三个组件:
    • openssl: 多用途的命令行工具,包openssl
    • libcrypto: 加密算法库,包openssl-libs
    • libssl:加密模块应用库,实现了ssl及tls,包nss

    SSH

    ssh: secure shell, protocol, 22/tcp, 安全的远程登录
    具体的软件实现:
    • OpenSSH: ssh协议的开源实现,CentOS默认安装
    • dropbear:另一个开源实现
    SSH协议版本
    • v1: 基于CRC-32做MAC,不安全;man-in-middle
    • v2:双方主机协议选择安全的MAC方式
    • 基于DH算法做密钥交换,基于RSA或DSA实现身份认证
    两种方式的用户登录认证:
    • 基于password
    • 基于key

    openssl命令:

    两种运行模式:交互模式和批处理模式
    openssl version:程序版本号
    标准命令、消息摘要命令、加密命令
    标准命令:enc, ca, req, ...

    对称加密:

    工具:openssl enc, gpg
    算法:3des, aes, blowfish, twofish
    enc命令:
        帮助: man enc 
    加密: openssl enc -e -des3 -a -salt -in testfile -out test.cipher 

    解密: openssl enc -d -des3 -a -salt –in test.cipher -out testfile 

    单向加密

    工具:md5sum, sha1sum, sha224sum,sha256sum…openssl dgst
    dgst命令:
    帮助: man dgst 
    openssl dgst -md5 [-hex默认] /PATH/SOMEFILE
    openssl dgst -md5 testfile
    md5sum /PATH/TO/SOMEFILE
    MAC: Message Authentication Code,单向加密的一种延伸应用,用于实现网络通信中保证所传输数据的完整性机制CBC-MAC
    HMAC:使用md5或sha1算法31

    生成用户密码

    passwd命令:
    帮助: man sslpasswd 
    openssl passwd -1 -salt SALT(最多8位)
    openssl passwd -1 –salt centos

    生成随机数

    帮助: man sslrand 
    openssl rand -base64|-hex NUM
    

      NUM: 表示字节数;-hex时,每个字符为十六进制,相当于4位二进制,出现的字符数为NUM*232

    生成密钥对

    公钥加密
      算法:RSA, ELGamal
      工具:gpg, openssl rsautl(man rsautl)
    数字签名:
      算法:RSA, DSA, ELGamal
    密钥交换:
      算法:dh
      DSA: Digital Signature Algorithm
      DSS:Digital Signature Standard
      RSA:33
    生成私钥
    openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS
    (umask 077; openssl genrsa –out test.key –des 2048)
    openssl rsa -in test.key –out test2.key 将加密key解密
    从私钥中提取出公钥
    openssl rsa -in PRIVATEKEYFILE –pubout –out PUBLICKEYFILE
    Openssl rsa –in test.key –pubout –out test.key.pub
     

    OpenSSL证书服务器搭建

    PKI:Public Key Infrastructure

    • CA
    • RA
    • CRL
    • 证书存取库

    证书申请及签署步骤:

    1. 生成申请请求
    2. RA核验
    3. CA签署
    4. 获取证书35

    创建CA

    openssl的配置文件: /etc/pki/tls/openssl.cnf 
    HOME            = .
    oid_section        = new_oids
    openssl_conf = default_modules
    [ default_modules ]
    ssl_conf = ssl_module
    [ ssl_module ]
    system_default = crypto_policy
    [ crypto_policy ]
    .include /etc/crypto-policies/back-ends/opensslcnf.config
    [ new_oids ]
    tsa_policy1 = 1.2.3.4.1
    tsa_policy2 = 1.2.3.4.5.6
    tsa_policy3 = 1.2.3.4.5.7
    [ ca ]     # 语句块
    default_ca    = CA_default        # The default ca section
    [ CA_default ]  # 语句块
    dir        = /etc/pki/CA        # ca 相关的具体路径 证书
    certs        = $dir/certs        # 存放证书的目录
    crl_dir        = $dir/crl        # 证书兑换列表
    database    = $dir/index.txt    # 数据库 存放所有证书的信息 自动更新
                        # several certs with same subject.
    new_certs_dir    = $dir/newcerts        #新证书存放的路径
    certificate    = $dir/cacert.pem     # The CA certificate
    serial        = $dir/serial         # 编号 存放下一个要颁发的编号
    crlnumber    = $dir/crlnumber    # 吊销列表的标号
                        # must be commented out to leave a V1 CRL
    crl        = $dir/crl.pem         # 证书吊销列表文件名
    private_key    = $dir/private/cakey.pem# 私钥文件
    x509_extensions    = usr_cert        # The extensions to add to the cert
    name_opt     = ca_default        # Subject Name options
    cert_opt     = ca_default        # Certificate field options
    default_days    = 365            # 默认有效期
    default_crl_days= 30            # 30天发布一次私钥信息
    default_md    = sha256        # 默认加密算法
    preserve    = no            # 
    policy        = policy_match   # 策略匹配
    [ policy_match ]
    countryName        = match             # 必须有的信息 国家
    stateOrProvinceName    = match         # 省市
    organizationName    = match         # 公司
    organizationalUnitName    = optional
    commonName        = supplied          # 通用名 域名
    emailAddress        = optional      # 
    [ policy_anything ]              # 策略可以不一样
    countryName        = optional
    stateOrProvinceName    = optional
    localityName        = optional
    organizationName    = optional
    organizationalUnitName    = optional
    commonName        = supplied
    emailAddress        = optional
    [ req ]
    default_bits        = 2048
    default_md        = sha256
    default_keyfile     = privkey.pem
    distinguished_name    = req_distinguished_name
    attributes        = req_attributes
    x509_extensions    = v3_ca    # The extensions to add to the self signed cert
    string_mask = utf8only
    [ req_distinguished_name ]
    countryName            = Country Name (2 letter code)
    countryName_default        = XX
    countryName_min            = 2
    countryName_max            = 2
    stateOrProvinceName        = State or Province Name (full name)
    localityName            = Locality Name (eg, city)
    localityName_default        = Default City
    0.organizationName        = Organization Name (eg, company)
    0.organizationName_default    = Default Company Ltd
    organizationalUnitName        = Organizational Unit Name (eg, section)
    commonName            = Common Name (eg, your name or your server's hostname)
    commonName_max            = 64
    emailAddress            = Email Address
    emailAddress_max        = 64
    [ req_attributes ]
    challengePassword        = A challenge password
    challengePassword_min        = 4
    challengePassword_max        = 20
    unstructuredName        = An optional company name
    [ usr_cert ]
    basicConstraints=CA:FALSE
    nsComment            = "OpenSSL Generated Certificate"
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid,issuer
    [ v3_req ]
    basicConstraints = CA:FALSE
    keyUsage = nonRepudiation, digitalSignature, keyEncipherment
    [ v3_ca ]
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid:always,issuer
    basicConstraints = critical,CA:true
    [ crl_ext ]
    authorityKeyIdentifier=keyid:always
    [ proxy_cert_ext ]
    basicConstraints=CA:FALSE
    nsComment            = "OpenSSL Generated Certificate"
    subjectKeyIdentifier=hash
    authorityKeyIdentifier=keyid,issuer
    proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
    [ tsa ]
    default_tsa = tsa_config1    # the default TSA section
    [ tsa_config1 ]
    dir        = /etc/pki/CA        # TSA root directory
    serial        = $dir/tsaserial    # The current serial number (mandatory)
    crypto_device    = builtin        # OpenSSL engine to use for signing
    signer_cert    = $dir/tsacert.pem     # The TSA signing certificate
                        # (optional)
    certs        = $dir/cacert.pem    # Certificate chain to include in reply
                        # (optional)
    signer_key    = $dir/private/tsakey.pem # The TSA private key (optional)
    signer_digest  = sha256            # Signing digest to use. (Optional)
    default_policy    = tsa_policy1        # Policy if request did not specify it
                        # (optional)
    other_policies    = tsa_policy2, tsa_policy3    # acceptable policies (optional)
    digests     = sha1, sha256, sha384, sha512  # Acceptable message digests (mandatory)
    accuracy    = secs:1, millisecs:500, microsecs:100    # (optional)
    clock_precision_digits  = 0    # number of digits after dot. (optional)
    ordering        = yes    # Is ordering defined for timestamps?
                    # (optional, default: no)
    tsa_name        = yes    # Must the TSA name be included in the reply?
                    # (optional, default: no)
    ess_cert_id_chain    = no    # Must the ESS cert id chain be included?
                    # (optional, default: no)
    ess_cert_id_alg        = sha1    # algorithm to compute certificate
                    # identifier (optional, default: sha1)
    主配置文件(不需要修改)

    创建所需要的文件

    mkdir /etc/pki/CA/
    mkdir /etc/pki/CA/{certs,crl,newcerts,private}
    [root@djcy-200 CA]# tree 
    .
    ├── certs
    ├── crl
    ├── newcerts
    └── private
    
    mkdir /etc/pki/CA/crlnumber
    touch /etc/pki/CA/index.txt 生成证书索引数据库文件
    echo 01 > /etc/pki/CA/serial 指定第一个颁发证书的序列号
    

    CA生成私钥

    # 输入密码 每次签发证书都需认证
    [root@djcy-200 CA]# (umask 066; openssl genrsa -out private/cakey.pem -des3 2048)
    Generating RSA private key, 2048 bit long modulus (2 primes)
    ...................................+++++
    ..................................+++++
    e is 65537 (0x010001)
    Enter pass phrase for private/cakey.pem:
    Verifying - Enter pass phrase for private/cakey.pem:
    [root@djcy-200 CA]# tree 
    .
    ├── certs
    ├── crl
    ├── newcerts
    └── private
        └── cakey.pem

    CA自签证书

    参数说明:
        -new: 生成新证书签署请求
        -x509: 专用于CA生成自签证书
        -key: 生成请求时用到的私钥文件
        -days n:证书的有效期限
        -out /PATH/TO/SOMECERTFILE: 证书的保存路径
    [root@djcy-200 CA]# openssl req -new -x509 -key private/cakey.pem -days 18250 -out /etc/pki/CA/cacert.pem
    Enter pass phrase for private/cakey.pem:
    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) []:BeiJing      
    Locality Name (eg, city) [Default City]:BeiJing
    Organization Name (eg, company) [Default Company Ltd]:devops
    Organizational Unit Name (eg, section) []:ops
    Common Name (eg, your name or your server's hostname) []:ca.devops.com
    Email Address []:admin@devops.com
    [root@djcy-200 CA]# tree 
    .
    ├── cacert.pem
    ├── certs
    ├── crl
    ├── newcerts
    └── private
        └── cakey.pem
    
    4 directories, 2 files查看

    查看证书信息

    [root@djcy-200 CA]# openssl x509 -in cacert.pem -noout -text
    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number:
                11:10:a5:ca:51:77:cb:43:06:61:42:27:9d:ec:5e:35:d7:9b:61:17
            Signature Algorithm: sha256WithRSAEncryption
            Issuer: C = CN, ST = BeiJing, L = BeiJing, O = devops, OU = ops, CN = ca.devops.com, emailAddress = admin@devops.com
            Validity
                Not Before: Aug  2 13:34:53 2020 GMT
                Not After : Jul 21 13:34:53 2070 GMT
            Subject: C = CN, ST = BeiJing, L = BeiJing, O = devops, OU = ops, CN = ca.devops.com, emailAddress = admin@devops.com
      ''''''''  省略
    
    # 只查看某些内容
    [root@djcy-200 CA]# openssl x509 -in cacert.pem -noout -dates 
    notBefore=Aug  2 13:34:53 2020 GMT
    notAfter=Jul 21 13:34:53 2070 GMT

    客户端请求颁发证书

    生成私钥

    [root@djcy-62 ~]# mkdir ca
    [root@djcy-62 ~]# cd ca/
    [root@djcy-62 ca]# (umask 066;openssl genrsa -out app.key 1024)
    Generating RSA private key, 1024 bit long modulus (2 primes)
    ............+++++
    ......................+++++
    e is 65537 (0x010001)
    [root@djcy-62 ca]# ll
    total 4
    -rw------- 1 root root 891 Aug  2 21:43 app.key

    使用私钥生成请求

    [root@djcy-62 ca]# openssl req -new -key app.key -out app.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) [XX]:CN						# 必须跟CA服务器一致
    State or Province Name (full name) []:BeiJing               # 必须跟CA服务器一致
    Locality Name (eg, city) [Default City]:ChaoYang
    Organization Name (eg, company) [Default Company Ltd]:devops # 必须跟CA服务器一致
    Organizational Unit Name (eg, section) []:webdev    
    Common Name (eg, your name or your server's hostname) []:www.devops.com  # 颁发的域名
    Email Address []:dev@devops.com
    
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    [root@djcy-62 ca]# ll
    total 8
    -rw-r--r-- 1 root root 700 Aug  2 21:47 app.csr
    -rw------- 1 root root 891 Aug  2 21:43 app.key

    发送请求秘钥到CA服务器

    [root@djcy-62 ca]# scp app.csr bjcy-200.host.io:/etc/pki/CA/

    查看服务器颁发的密码

    [root@djcy-62 ca]# openssl x509 -in app.crt -noout -text
    Certificate:
        Data:
            Version: 3 (0x2)
            Serial Number: 1 (0x1)
            Signature Algorithm: sha256WithRSAEncryption
            Issuer: C = CN, ST = BeiJing, L = BeiJing, O = devops, OU = ops, CN = ca.devops.com, emailAddress = admin@devops.com
            Validity
                Not Before: Aug  2 14:01:05 2020 GMT
                Not After : Jul 31 14:01:05 2030 GMT
            Subject: C = CN, ST = BeiJing, O = devops, OU = webdev, CN = www.devops.com, emailAddress = dev@devops.com
            Subject Public Key Info:
    ''''''' 省略'

    CA授权客户端

    [root@djcy-200 CA]# touch index.txt							# 数据库文件存放着所有的申请授权信息
    [root@djcy-200 CA]# echo 01 > /etc/pki/CA/serial            # 开始申请的编号 每次都会增加
    [root@djcy-200 CA]# openssl ca -in app.csr -out certs/app.crt -days 3650   # 开始授权
    Using configuration from /etc/pki/tls/openssl.cnf
    Enter pass phrase for /etc/pki/CA/private/cakey.pem:
    Check that the request matches the signature
    Signature ok
    Certificate Details:
            Serial Number: 1 (0x1)
            Validity
                Not Before: Aug  2 14:01:05 2020 GMT
                Not After : Jul 31 14:01:05 2030 GMT
            Subject:
                countryName               = CN
                stateOrProvinceName       = BeiJing
                organizationName          = devops
                organizationalUnitName    = webdev
                commonName                = www.devops.com
                emailAddress              = dev@devops.com
            X509v3 extensions:
                X509v3 Basic Constraints: 
                    CA:FALSE
                Netscape Comment: 
                    OpenSSL Generated Certificate
                X509v3 Subject Key Identifier: 
                    BF:F7:D0:7A:0B:B8:11:6E:27:64:69:C2:7D:3D:38:62:69:E7:4A:10
                X509v3 Authority Key Identifier: 
                    keyid:31:BC:8B:B0:A6:F8:FF:B7:6E:F9:B2:E5:7C:80:B8:47:6C:AA:AB:1D
    
    Certificate is to be certified until Jul 31 14:01:05 2030 GMT (3650 days)
    Sign the certificate? [y/n]:y								# 是否授权
    
    
    1 out of 1 certificate requests certified, commit? [y/n]y		# 确认
    Write out database with 1 new entries
    Data Base Updated
    [root@djcy-200 CA]# tree 
    .
    ├── app.csr
    ├── cacert.pem
    ├── certs
    │   └── app.crt			# 生产的私钥文件
    ├── crl
    ├── index.txt
    ├── index.txt.attr
    ├── index.txt.old
    ├── newcerts
    │   └── 01.pem       # 和 certs下的 app.crt 是同一个文件
    ├── private
    │   └── cakey.pem
    ├── serial
    └── serial.old
    
    4 directories, 10 files
    [root@djcy-200 CA]# cat index.txt    # 数据库文件
    V	300731140105Z		01	unknown	/C=CN/ST=BeiJing/O=devops/OU=webdev/CN=www.devops.com/emailAddress=dev@devops.com
    [root@djcy-200 CA]# cat serial     # 下次申请的编号
    02

    CA吊销证书

    [root@djcy-200 CA]# echo 01 > /etc/pki/CA/crlnumber
    
    [root@djcy-200 CA]# openssl ca -revoke newcerts/01.pem   指定吊销证书
    Using configuration from /etc/pki/tls/openssl.cnf
    Enter pass phrase for /etc/pki/CA/private/cakey.pem:
    Revoking Certificate 01.
    Data Base Updated
    [root@djcy-200 CA]# tree 
    .
    ├── app.csr
    ├── cacert.pem
    ├── certs
    │   └── app.crt
    ├── crl
    ├── crlnumber
    ├── index.txt
    ├── index.txt.attr
    ├── index.txt.attr.old
    ├── index.txt.old
    ├── newcerts
    │   └── 01.pem
    ├── private
    │   └── cakey.pem
    ├── serial
    └── serial.old
    
    4 directories, 12 files
    [root@djcy-200 CA]# openssl ca -gencrl -out crl.pem # 生成证书吊销列表
    Using configuration from /etc/pki/tls/openssl.cnf
    Enter pass phrase for /etc/pki/CA/private/cakey.pem:
    [root@djcy-200 CA]# tree 
    .
    ├── app.csr
    ├── cacert.pem
    ├── certs
    │   └── app.crt
    ├── crl
    ├── crlnumber
    ├── crlnumber.old
    ├── crl.pem
    ├── index.txt
    ├── index.txt.attr
    ├── index.txt.attr.old
    ├── index.txt.old
    ├── newcerts
    │   └── 01.pem
    ├── private
    │   └── cakey.pem
    ├── serial
    └── serial.old
    
    4 directories, 14 files
    [root@djcy-200 CA]# # 查看吊销列表文件
    [root@djcy-200 CA]# openssl crl -in crl
    crl/           crlnumber      crlnumber.old  crl.pem        
    [root@djcy-200 CA]# openssl crl -in crl.pem -noout -text 
    Certificate Revocation List (CRL):
            Version 2 (0x1)
            Signature Algorithm: sha256WithRSAEncryption
            Issuer: C = CN, ST = BeiJing, L = BeiJing, O = devops, OU = ops, CN = ca.devops.com, emailAddress = admin@devops.com
            Last Update: Aug  2 14:21:56 2020 GMT
            Next Update: Sep  1 14:21:56 2020 GMT
            CRL extensions:
                X509v3 CRL Number: 
                    1
    Revoked Certificates:
        Serial Number: 01
            Revocation Date: Aug  2 14:20:37 2020 GMT
        Signature Algorithm: sha256WithRSAEncryption
             29:af:64:35:f5:aa:48:dd:7b:9d:0e:2c:a0:73:95:a1:e3:9a:
             fc:16:a9:e0:51:7d:a8:ee:f1:c4:f1:83:f9:b3:88:f2:f5:12:
             06:27:f7:f0:92:19:91:7b:f6:bc:30:ed:c6:34:ed:26:2d:ae:
             a7:2b:a2:7f:c2:60:9b:e1:24:2d:23:34:7b:7c:5e:ee:66:07:
             da:2f:c5:8e:35:e8:65:aa:89:da:d7:1f:df:53:9b:c6:4a:78:
             a8:09:fe:f3:0d:f4:0d:d6:65:48:0b:3d:75:73:19:26:db:ba:
             d0:0d:74:0c:c2:89:30:e5:33:f4:db:fd:73:e8:1e:07:30:1c:
             05:03:47:df:b3:82:26:e7:73:64:14:07:b9:f3:70:eb:8d:c0:
             fb:74:07:d8:22:ad:ce:3c:2e:ad:4a:00:cb:6c:9e:60:6c:dd:
             8c:14:ea:95:69:4a:be:ab:57:25:2d:ed:54:5a:45:04:13:4c:
             3a:90:23:96:d8:1b:01:c3:c6:a3:55:cf:8e:8b:c7:85:08:9b:
             44:ab:e8:eb:0f:c5:7c:8d:05:ef:d8:db:45:2c:36:32:f9:0c:
             56:db:6b:aa:72:1d:68:a8:4c:3f:7a:58:fc:26:cf:0c:53:d1:
             d2:57:33:4a:22:44:89:49:74:7a:1b:4f:91:0d:0f:59:5d:b0:
             83:28:66:02
    

      

     
  • 相关阅读:
    LAMP课程(3)
    LAMP课程
    vim文本编辑
    mysql常用语句
    mysql双机互相备份
    Java NIO
    适配器模式
    对象的序列化与反序列化
    字符流
    Java Socket
  • 原文地址:https://www.cnblogs.com/yanshicheng/p/13424198.html
Copyright © 2011-2022 走看看