Linux项目之OpenSSL 创建CA证书

  • 实验设备:两台(1太server一台client)
  • 实验环境:无特别要求,需安装OpenSSL及其组件

一 搭建CA服务器

(1)server操作

创建私有CA

  • 创建所需要的文件

          touch /etc/pki/CA/index.txt  生成证书索引数据库文件
          echo 01 > /etc/pki/CA/serial  指定第一个颁发证书的序列号
    
  • CA 自签证书

生成私钥

        cd /etc/pki/CA/
    (umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)
  • 生成自签名证书

          openssl req -new -x509 –key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
              -new:  生成新证书签署请求
              -x509:  专用于CA生成自签证书
              -key:  生成请求时用到的私钥文件
              -days n :证书的有效期限
              -out / PATH/TO/SOMECERTFILE : 证书的保存路径
    

(2)client

  • 给web 服务器生成私钥

          (umask 066; openssl genrsa -out  /etc/pki/tls/private/test.key 2048)
          生成证书申请文件
          openssl req -new -key /etc/pki/tls/private/test.key  -days 365 -out etc/pki/tls/test.csr
    
  • 将证书传送给server

(3)server签署证书

CA 签署证书,并将证书颁发给请求者

        openssl ca -in /tmp/test.csr –out /etc/pki/CA/certs/test.crt -days 365
        注意:默认国家,省,公司名称三项必须和CA
        查看证书中的信息:
        openssl x509 -in  /PATH/FROM/CERT_FILE  -noout -text|issuer|subject|serial|dates
        openssl ca -status SERIAL查看指定编号的证书状态

二 证书吊销

(1)client操作

在客户端获取要吊销的证书的serial

openssl x509 -in / PATH/FROM/CERT_FILE -noout -serial -subject

(2)server操作

  • 在CA上,根据客户提交的serial 与subject信息,对比检验是否与index.txt`文件中的信息一致,吊销证书:

          openssl ca -revoke /etc/pki/CA/newcerts/ SERIAL .pem
    
  • 指定第一个吊销证书的编号
    注意:第一次更新证书吊销列表前,才 需要 执行

      echo 01 > /etc/pki/CA/crlnumber
    
  • 更新证书吊销列表

          openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
    

查看crl 文件:

        openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text

你可能感兴趣的:(Linux项目之OpenSSL 创建CA证书)