在CentOS 7上实现私有CA及申请和吊销证书

– 创建私有CA

openssl的配置文件:/etc/pki/tls/openssl.cnf

42 dir     = /etc/pki/CA       # Where everything is kept
 43 certs       = $dir/certs        # Where the issued certs are kept
 44 crl_dir     = $dir/crl      # Where the issued crl are kept
 45 database    = $dir/index.txt    # database index file.
 46 #unique_subject = no            # Set to 'no' to allow creation of
 47                     # several ctificates with same subject.
 48 new_certs_dir   = $dir/newcerts     # default place for new certs.
 49 
 50 certificate = $dir/cacert.pem   # The CA certificate
 51 serial      = $dir/serial       # The current serial number
 52 crlnumber   = $dir/crlnumber    # the current crl number
 53                     # must be commented out to leave a V1 CRL
 54 crl     = $dir/crl.pem      # The current CRL
 55 private_key = $dir/private/cakey.pem# The private key
 56 RANDFILE    = $dir/private/.rand    # private random number file
 57 
 58 x509_extensions = usr_cert      # The extentions to add to the cert

1、创建所需文件

[root@Shining /etc/pki/CA]# openssl req -new -x509 -key private/cakey.pem -days 7300 -out cacert.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]:magedu
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:pirate.com
Email Address []:pirate@163.com

-new: 生成新证书签署请求 
-x509: 专用于CA生成自签证书 
-key: 生成请求时用到的私钥文件 
-days n:证书的有效期限 
-out /PATH/TO/SOMECERTFILE: 证书的保存路径

3、颁发证书

(a)在需要使用证书的主机生成证书请求

[root@Shining /etc/pki/CA]# (umask 066;openssl genrsa -out /etc/httpd/ssl/httpd.key) 
Generating RSA private key, 1024 bit long modulus
....++++++
................++++++
e is 65537 (0x10001)

生成证书申请文件

[root@Shining /etc/pki/CA]# openssl req -new -key /etc/httpd/ssl/httpd.key -days 365 -out /etc/httpd/ssl/httpd.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
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:magedu
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server's hostname) []:pirate.com
Email Address []:pirate@163.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

(b) 将证书请求文件传输给CA 
(c) CA签署证书,并将证书颁发给请求者:

[root@Shining /etc/pki/CA]# openssl ca -in /etc/httpd/ssl/httpd.csr -out certs/http.crt -days 365
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Dec  1 06:34:52 2016 GMT
            Not After : Dec  1 06:34:52 2017 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = Beijing
            organizationName          = magedu
            organizationalUnitName    = IT
            commonName                = pirate.com
            emailAddress              = pirate@163.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                7E:6E:F0:97:27:94:8D:6B:27:55:6A:2D:4E:1D:54:D8:C3:EA:9B:FA
            X509v3 Authority Key Identifier: 
                keyid:3E:DF:08:62:77:CF:10:3E:5D:A4:E6:61:85:8A:7A:86:DE:AE:F3:2C

Certificate is to be certified until Dec  1 06:34:52 2017 GMT (365 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

注意:默认国家,省,公司名称必须和CA一致 
(d) 查看证书中的信息:

[root@Shining /etc/pki/CA]# openssl x509 -in cacert.pem -noout -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 14592393701163322702 (0xca8298c1e47ccd4e)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C=CN, ST=Beijing, L=Beijing, O=magedu, OU=IT, CN=pirate.com/emailAddress=pirate@163.com
        Validity
            Not Before: Dec  1 06:25:39 2016 GMT
            Not After : Nov 26 06:25:39 2036 GMT
        Subject: C=CN, ST=Beijing, L=Beijing, O=magedu, OU=IT, CN=pirate.com/emailAddress=pirate@163.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:a8:7a:aa:73:d1:67:5d:5d:1f:7b:9b:4b:d6:91:
                    bf:e2:2a:38:0e:cc:91:8d:a7:6c:9f:4d:30:8f:4a:
                    d5:68:98:ac:c2:0e:28:d5:a0:61:81:90:0b:b2:69:
                    2e:bb:9d:8a:79:3e:34:e3:24:6c:bf:4b:95:36:8e:
                    c9:69:b6:9c:65:d7:fa:4f:78:b9:01:72:93:ec:56:
                    3c:3d:50:34:a0:43:3f:5d:04:aa:e2:a7:4a:d3:04:
                    fc:32:1a:e5:a8:91:75:84:06:4d:72:61:c5:ef:bb:
                    23:68:ba:5a:d6:4d:af:a4:ae:b0:81:b9:b4:1d:68:
                    ed:2d:f6:36:5c:40:89:92:6d:05:7a:34:70:77:0d:
                    4c:26:c0:a1:14:d6:41:96:e9:59:dd:e1:31:07:7a:
                    d5:36:c2:2e:26:0c:e0:9b:39:49:18:dc:85:30:17:
                    7c:b6:c3:6d:ba:90:0a:11:e9:04:c0:1f:2e:4f:fd:
                    85:31:3b:67:35:a0:e1:d3:f8:c2:15:fe:96:95:1d:
                    a1:9a:9a:41:cf:26:cc:65:3f:dd:6b:98:86:38:76:
                    c1:3e:54:e6:09:57:b4:c0:36:2e:f5:1a:70:8e:0e:
                    81:93:42:2d:0a:1a:4c:96:f9:90:aa:10:af:e3:06:
                    b0:27:57:ba:4a:27:5e:98:14:7d:28:fd:c5:89:4a:
                    75:9b
                Exponent: 65537 (0x10001)
        X509v3 extensions:
            X509v3 Subject Key Identifier: 
                3E:DF:08:62:77:CF:10:3E:5D:A4:E6:61:85:8A:7A:86:DE:AE:F3:2C
            X509v3 Authority Key Identifier: 
                keyid:3E:DF:08:62:77:CF:10:3E:5D:A4:E6:61:85:8A:7A:86:DE:AE:F3:2C

        X509v3 Basic Constraints: 
            CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
     6b:b2:40:62:2b:a9:0e:f4:fc:46:ed:88:69:8e:8b:72:05:c4:
     ff:db:66:87:16:7b:7b:6f:98:3c:fa:94:87:93:07:d8:8d:9e:
     50:76:21:ae:11:b3:59:43:c5:ac:82:dd:75:aa:37:33:88:43:
     bc:e6:de:67:fb:0a:e9:ce:8f:ef:70:93:19:32:5b:68:10:55:
     cf:7c:87:2a:91:d4:b6:d0:f2:39:02:84:29:7d:4b:12:6c:c1:
     9d:6d:fd:d0:01:07:ce:f1:34:6c:64:85:98:c9:56:3f:7d:92:
     e4:65:e3:d9:83:32:40:a8:f9:48:a4:6a:68:a4:09:82:8f:ec:
     86:96:25:1f:64:4c:6e:63:98:0a:fb:95:44:58:71:81:2d:84:
     41:a3:44:31:b0:47:26:79:fb:3a:9d:b5:b3:6b:c6:a9:d2:36:
     e6:27:6f:de:ef:1f:6c:df:2a:38:2f:e0:85:c2:4f:62:23:c3:
     c0:dd:a8:df:e3:0b:94:d1:87:9f:ce:d2:13:6c:82:9e:28:35:
     52:fc:50:9c:23:92:ae:4a:83:a0:76:d1:f3:59:22:c2:02:54:
     77:96:d8:2c:06:a5:71:25:98:bb:10:84:db:87:06:e0:d5:56:
     44:0d:8d:bf:a1:cb:74:33:f5:6a:b8:fb:7b:d7:af:26:c0:bc:
     44:e8:2b:18

(4)吊销证书

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

[root@Shining /etc/pki/CA]# openssl x509 -in cacert.pem -noout -serial -subject
serial=CA8298C1E47CCD4E
subject= /C=CN/ST=Beijing/L=Beijing/O=magedu/OU=IT/CN=pirate.com/emailAddress=pirate@163.com

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

[root@Shining /etc/pki/CA]# openssl ca -revoke newcerts/01.pem 
Using configuration from /etc/pki/tls/openssl.cnf
Revoking Certificate 01.
Data Base Updated

(c) 生成吊销证书的编号(第一次吊销一个证书时才需要执行)

[root@Shining /etc/pki/CA]# echo 01 > crlnumber

(d) 更新证书吊销列表

[root@Shining /etc/pki/CA]# openssl ca -gencrl -out crl/crl.pem
Using configuration from /etc/pki/tls/openssl.cnf

查看crl文件:

[root@Shining /etc/pki/CA]# openssl crl -in crl/crl.pem -noout -text
Certificate Revocation List (CRL):
        Version 2 (0x1)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: /C=CN/ST=Beijing/L=Beijing/O=magedu/OU=IT/CN=pirate.com/emailAddress=pirate@163.com
        Last Update: Dec  1 08:02:47 2016 GMT
        Next Update: Dec 31 08:02:47 2016 GMT
        CRL extensions:
            X509v3 CRL Number: 
                1
Revoked Certificates:
    Serial Number: 01
        Revocation Date: Dec  1 07:50:35 2016 GMT
    Signature Algorithm: sha256WithRSAEncryption
         5a:02:42:b5:08:3e:e6:16:1a:9f:40:bb:dd:9e:7d:15:8d:d9:
         9f:06:e2:c7:9d:1b:46:8f:f0:7e:b0:25:82:fc:b1:ca:b0:cb:
         c1:4b:3d:a9:b7:2d:06:ba:c1:81:ca:e0:3c:c5:67:f9:0a:cd:
         30:88:ff:84:38:ab:64:19:3d:15:91:69:44:29:83:63:e3:e9:
         e5:b4:1c:a5:35:e1:40:b1:2d:ef:a6:91:c6:56:12:d2:87:4f:
         47:28:5b:0f:b4:8f:fa:e1:9a:04:25:26:1b:8c:d5:df:72:71:
         d8:30:de:38:44:53:a7:f3:57:0a:22:63:9e:7d:79:86:06:b4:
         65:e7:f5:54:b4:de:41:90:5a:f4:41:3c:50:ee:6e:f3:bf:fa:
         0b:c5:aa:51:ae:f9:92:76:d9:68:75:5b:d9:1c:2b:e6:47:1c:
         7b:93:06:41:0c:87:2b:31:4a:d1:0f:c1:1b:27:9a:07:33:0d:
         a9:32:c3:c8:b6:99:4e:cc:b7:08:7d:61:04:ae:71:fd:fa:63:
         20:6a:af:9c:7f:84:07:31:67:f3:3a:be:34:01:16:30:68:a0:
         f2:00:56:1e:98:17:21:fb:7e:b4:5f:5b:ba:ce:eb:bc:bd:ee:
         8b:d4:2f:72:30:a6:d5:eb:f3:0c:bb:f5:c5:f0:89:5e:1a:1e:
         fa:33:af:c2

+

原创文章,作者:wangshuai,如若转载,请注明出处:http://www.178linux.com/61837

(0)
wangshuaiwangshuai
上一篇 2016-12-01
下一篇 2016-12-01

相关推荐

  • FTP基于PAM和MySQL/MariaDB实现虚拟用户访问控制

    前言 vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用,目前在开源操作系统中常用的FTP套件主要有proftpd、pureftp、ServU和wu-ftpd等。本文将讲解vsftpd的基本功能和如何基于PAM和MySQL/MariaDB实现虚拟用户访问控制。 基础配置介绍 工作原理 状态响应码 1xx:信息码 2xx…

    2015-04-20
  • The first work’s homework

    一、描述计算机的组成及其功能     计算机是由硬件系统(hardware system)和软件系统(software system)两部分组成的。     1.硬件系统:       根据冯诺依曼计算机体系结构模型,中…

    Linux干货 2016-12-05
  • OPENSSL加密技术及私有CA的搭建

    加密方式有对称加密 非对称加密 单向加密 对称加密:     加密和加密都用同一个对称密钥,但是,这种加密方法存在一定问题,就是密钥传输时,容易被盗窃。还有密钥管理困难,对称加密的方法:DES、AES、Blowfish、Twofish、IDEA、RC6、CAST5。   非对称加密: 公钥…

    Linux干货 2015-08-17
  • 马哥教育网络班19期+第九周课程练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin),分别这两类用户的个数,通过字符串比较来实现。 #!/bin/bash for user_shell in `awk -F: '{print $7}'&nbsp…

    Linux干货 2016-07-01
  • PXE自动化安装系统服务

    PXE PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或M…

    Linux干货 2016-11-07
  • Linux中的网络管理

    1. ifconfig命令的使用方法 ifconfig是一个比较老的命令了,以后可能会慢慢被ip命令替代。ifconfig命令可以用来配置网卡ip地址,配置网卡别名等信息。 ifconfig ifconfig 网络设备名:用来查看网卡的信息,如ip地址,子网掩码,MAC地址等信息 ifconfig eth0 add 172.16.0.35/16:配置eth0…

    2017-05-02