RHEL6.3下使用OpenSSL来生成CA证书并颁发证书实例解析

一、配置OPENSSL
 [root@test1 /]# rpm -qa|grep openssl
 openssl-1.0.0-20.el6_2.5.i686
 [root@test1 /]# cd /etc/pki/tls
 [root@test1 tls]# ls
 cert.pem  certs  misc  openssl.cnf  private
 [root@test1 tls]# vim openssl.cnf
 ####################################################################
 [ CA_default ]
 
dir            = /etc/pki/CA          # Where everything is kept  (CA中心的目录)
 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.(经过CA中心签名的证书备份目录)
 
certificate    = $dir/my-ca.crt        # The CA certificate (CA的公钥文件名)
 serial          = $dir/serial          # The current serial number (CA中心的颁发证书序列号)
 crlnumber      = $dir/crlnumber        # the current crl number (已吊销证书序列号)
                                        # must be commented out to leave a V1 CRL
 crl            = $dir/my-ca.crl        # The current CRL (证书吊销列表)
 private_key    = $dir/private/my-ca.key # The private key (CA私钥文件)
 RANDFILE        = $dir/private/.rand    # private random number file
 
x509_extensions = usr_cert              # The extentions to add to the cert
 
default_days    = 365                  # how long to certify for  (证书有效期)
 default_crl_days= 30                    # how long before next CRL
 default_md      = default              # use public key default MD
 preserve        = no                    # keep passed DN ordering
 
[ policy_match ]      #此段为证书相关信息选项,其中match指定的项,要求被签名证书一定要与CA的对应项一致。
 countryName  = match
 stateOrProvinceName = match
 organizationName = match
 organizationalUnitName = optional
 commonName  = supplied
 emailAddress  = optional
 
#
 [ req_distinguished_name ]
 countryName                    = Country Name (2 letter code)
 countryName_default            = CN    (国家代码需要自己修改)
 countryName_min                = 2
 countryName_max                = 2
 
stateOrProvinceName            = State or Province Name (full name)
 stateOrProvinceName_default    = Hebei  (州或省名需要自己修改)
 
localityName                    = Locality Name (eg, city)
 localityName_default    = Beijing    (地点名称需要自己修改)
 
0.organizationName              = Organization Name (eg, company)
 0.organizationName_default      = Tianli Company    (组织或公司名需要自己修改)
 

[root@test1 tls]# cd ../CA/
 [root@test1 CA]# ls
 certs  crl  newcerts  private
 注:需要有这几个目录,如果没有可以自己新建
 [root@test1 CA]# touch index.txt
 [root@test1 CA]# echo "00"> serial
 [root@test1 CA]# ls
 certs  crl  index.txt  newcerts  private  serial
 
二、创建密钥过程
 创建私钥
 [root@test1 CA]#(umask 077;openssl genrsa -out private/my-ca.key -des3 2048)
 Generating RSA private key, 2048 bit long modulus
 ............................................................+++
 ..........+++
 e is 65537 (0x10001)
 Enter pass phrase for private/my-ca.key:
 Verifying - Enter pass phrase for private/my-ca.key:
 
由私钥生成公钥
 [root@test1 CA]#openssl req -new -x509 -key private/my-ca.key -days 365 > my-ca.crt
 Enter pass phrase for private/my-ca.key:
 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) [CN]:CN
 State or Province Name (full name) []:Hebei
 Locality Name (eg, city) [Beijing]:Beijing
 Organization Name (eg, company) [Default Company Ltd]:Tianli Company
 Organizational Unit Name (eg, section) []:
 Common Name (eg, your name or your server's hostname) []:test1
 Email Address []:
 [root@test1 CA]# ls
 certs  crl  index.txt  my-ca.crt  newcerts  private  serial

RHEL6.3下使用OpenSSL来生成CA证书并颁发证书实例解析
更多相关文章
  • 如何通过OpenSSL实现私有CA,并为HTTP服务提供TLS/SLL安全机制
    Openssl是SSL的开源实现(可以免费下载应用程序),是一种安全机密程序,主要用于提高远程登录访问的安全性.也是目前加密算法所使用的工具之一,功能很强大.Openssl为网络通信提供安全及数据完整性的一种安全协议,包括了主要的密码算法.常用的密钥和证书封装管理功能(CA)以及SSL协议,并提供了 ...
  • 建立你自己的 CA 服务:OpenSSL 命令行 CA 操作快速指南
    这些是关于使用 OpenSSL 生成证书授权(CA).中间证书授权和末端证书的速记随笔,内容包括 OCSP.CRL 和 CA 颁发者信息,以及指定颁发和有效期限等.我们将建立我们自己的根 CA,我们将使用根 CA 来生成一个中间 CA 的例子,我们将使用中间 CA 来签署末端用户证书.根 CA创建根 ...
  • Linux下Apache+OpenSSL配置记录
    最近在研究Linux下的apache-ssl配置,写点个人小心得,新人发博,敬请见谅. 软件环境 Apache Httpd 2.2.29 (http://httpd.apache.org ) OpenSSL 1.0.1h (http://www.openssl.org/source ) SSL-To ...
  • OpenSSL:构建CA的过程并实现web服务基于https访问的网络架构
    本文环境 RedHat 5.8本文主要内容:加密算法.CA介绍和配置等.web利用CA认证构建https安全传输1.在互联网上数据额传输有两种:明文传输和加密传输.明文传输的协议有:ftp.http.smtp.telnet.但是为了数据的完整性和安全性,所以后来引用了加密等相关手段来保证数据的安全和 ...
  • Openssl出现的bug 很多朋友都知道是非常的严重了,对于Openssl bug小编每次安装系统都需要来补一下它,下面来看看linux下修复Openssl FREAK 漏洞bug步骤修复方法:1:升级最新版本openssl,重新启动对应服务.#比如OpenSSL的1.0.1的用户应该升级到1.0 ...
  • UNIX下利用OpenSSL对大文件进行AES加解密
    由于项目需要文件传输过程中对其进行加解密,所以就在网上查找下加解密的相关介绍,最开始采用RSA加解密算法,先是利用RSAEuro折腾了半天编译的环节卡住了(编译报错查不出原因),后面网上发现利用OpenSSL的实现方法比较简单.OpenSSL是一款功能强大的加密工具包,它集成了众多密码算法及实用工具 ...
  • msmtp在RHEL6.5下的安装
    msmtp在RHEL6.5下的安装企业级监控软件Zabbix搭建部署之使用mutt+msmtp配置Zabbix邮件报警 http://www.linuxidc.com/Linux/2014-01/95002p2.htmNagios+mutt+msmtp 无法发送邮件的问题! http://www.l ...
  • 如何在源码包编译安装的 LEMP 环境下开启 OpenSSL 功能
    Hello,大家好!我是——邪恶君子!今天,给大家分享一下解决源码包编译安装 LEMP 环境下开启 OpenSSL 功能问题的过程.前几天,在访问页面时,突然报错,要求开启 openssl 功能.那怎么办呢,首先想到的是 yum 安装,但是,安装后还是没解决,因为 LEMP 的环境是源码包编译安装的 ...
一周排行