CA服务器的简单搭建

一、简单介绍
CA 也拥有一个证书(内含公钥和私钥)。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA 的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。
二、环境描述

ip:192.168.151.204
# cat /etc/redhat-release 
CentOS release 6.7 (Final)
# uname -i
x86_64

三、所需软件

openssl  openssl-devel
# yum install openssl  openssl-devel -y

四、安装过程
1、
cd /etc/pki/CA
#如果没有 certs  crl(过期证书)  newcerts目录请创建

# mkdir {certs,crl,newcerts}

2、创建两个空文件,索引文件和序列号文件

# touch index.txt
# touch serial
# vim  /etc/hosts
192.168.151.204 ca.10fei3.top

3、创建根证书

# echo 01 > serial  (第一次创建根证书需此命令)

生成证书所使用的RSA秘钥,保存到private目录下

# openssl genrsa 1024 > private/hunk-ca.key

利用hunk-ca.key生成自签名的电子证书

# cat private/hunk-ca.key 
-----BEGIN RSA PRIVATE KEY-----
MIICXAIBAAKBgQDSUxptT8nWMmKunlO+b5dlTPKAEFjevnT3T4w1dScOBCWQ4rv6
sWcLXIgKn8nhn3hW5PuYaOCd7n9zLuqvsK/o5u/gE4njhsDw1xLi1JNvftPm8YKn
9K0qQqz76nl7y0RBgGxfB+a4jgfb27OII2Oj1+B66pYvanIoRU3FWHQtcQIDAQAB
AoGAHwliYfUfPLuMsmXsx7Jh7fHv6xP+eUgzrHcRoqXaEIhuHrZGtRTOtu99p8uy
l9fXg0MhGXmIg+W46v9mZGy3WGuCVtmEvI/sI39pV0mTLYz+BhayOOX/YkOrW1+D
Pu6GJ6yNv+OQS8psUE8b1XYg854iumsHYlvRppn1Ok+bmq0CQQDz235ONq50po2v
kx7/IRKf1iqaFMykPrDfWPgxfMnyWNqjGoM3+jfvakL+RL2GZB6OVUoL8G20Vu0W
axFblZybAkEA3Mwo6kNL0XgVSfEl1MySfx/13sQ98Fx3j2LB+OykP1VHt0vdUBCF
GcFkkuMQIHfWaxK70mWN9JPSShNgPPvw4wJBAIVCv4UycKeilO8LsPavNiROvz0w
fJyM/c8wKYGxthJP6DsVs/uVK5gUM8QMAJ4+fEw/45UesHTKxAlqPTQVUF0CQFRF
I5SNjMFs2Is5G5xFW+BjHV8hfRZg5Ez4f1n3T5TQgqelr9kgBPzYf/9D5GLP+ikx
pDfgBLcFOCyHiqKb8csCQB6+A/SracoSaIcBu5NEikpFpf068y785FM2qbo/nBBP
/M8QAgfEbrmOXaBCmMleexmyLmyCNqEBG8Gb6vvLd1I=
-----END RSA PRIVATE KEY-----
[[email protected] CA]# openssl req -new -x509 -key private/hunk-ca.key -days 365 -out hunk-ca.crt
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) []:Shanghai
Locality Name (eg, city) [Default City]:Shanghai
Organization Name (eg, company) [Default Company Ltd]:etnet
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server‘s hostname) []:ca.10fei3.top
Email Address []:hunkz.gmail.com

4、修改openssl.conf

[[email protected] CA]# cd ../tls/
[[email protected] tls]# vim 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
certificate     = $dir/hunk-ca.crt      # 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/hunk-ca.key# The private key
RANDFILE        = $dir/private/.rand    # private random number file
x509_extensions = usr_cert              # The extentions to add to the cert
[ policy_match ]
countryName             = optional
stateOrProvinceName     = optional
organizationName        = optional
organizationalUnitName  = optional
commonName              = supplied
emailAddress            = optional

5.dovecot 生成证书请求

[[email protected] tmp]# openssl genrsa 1024 > dovecot.key
Generating RSA private key, 1024 bit long modulus
.............++++++
.......++++++
e is 65537 (0x10001)
[[email protected] tmp]# openssl req -key dovecot.key -out dovecot.csr 
^C
[[email protected] tmp]# openssl req -new -key dovecot.key -out dovecot.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) []:Shanghai
Locality Name (eg, city) [Default City]:Shanghai
Organization Name (eg, company) [Default Company Ltd]:etnet
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server‘s hostname) []:www.abc.com   
Email Address []:[email protected]
Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

6.签名证书

[[email protected] tmp]# openssl ca -in dovecot.csr -out dovecot.crt
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: Jun 23 03:29:48 2016 GMT
            Not After : Jun 23 03:29:48 2017 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = Shanghai
            organizationName          = etnet
            organizationalUnitName    = IT
            commonName                = www.abc.com
            emailAddress              = [email protected]
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                9D:1D:A6:54:5A:A9:55:1A:10:1A:CA:8E:AF:A9:00:82:44:1E:A2:E9
            X509v3 Authority Key Identifier: 
                keyid:A6:85:80:4E:AE:B7:E6:DE:EA:35:88:63:2D:8A:AB:4E:FD:09:D8:3F
Certificate is to be certified until Jun 23 03:29:48 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

7、有用的文件

dovecot.crt  dovecot.key

8、用mutt测试证书

# mutt -f pops://[email protected]@mail.10fei3.top 
q:退出  ?:帮助
此证书属于:
   www.abc.com  [email protected]
   etnet
   IT
     Shanghai  CN
此证书发布自:
   ca.10fei3.top  hunkz.gmail.com
   etnet
   IT
   Shanghai  Shanghai  CN
此证书有效
   来自 Thu, 23 Jun 2016 03:29:48 UTC
   发往 Fri, 23 Jun 2017 03:29:48 UTC
SHA1 指纹:ACEC 40BC 4101 4E3A 7FB1 D1E0 23C5 7200 5BE9 994E
MD5 指纹:FF9F 4BE0 BB97 CEBF 499B CE5D D4D6 F95D
警告:服务器主机名与证书不匹配
-- Mutt: SSL 证书检查 (检查链中有 1 个证书,共 1 个)
拒绝(r),接受一次(o),总是接受(a)

五、文章小结

1. ca.10fei3.top 要能解析到,不然可能有问题。
2. 本文生成ca证书是为了搭建安全的邮件收件服务器。经测试可以访问。
时间: 2024-10-11 12:11:35

CA服务器的简单搭建的相关文章

SVN服务器的简单搭建

一.环境: ①CentOS-6.5               IP:192.168.2.215 ②window server 2008 R2    IP:192.168.2.207 二.安装 使用 yum 在线安装 yum install -y subversion 验证安装版本 svnserve --version 创建svn 版本库 mkdir  /uu2/svn     ---创建svn目录 svnadmin create /uu2/svn/davesvn    ----davesvn为

windows server 2003搭建CA服务器并启用https(SSL)

本文简单讲解在Windows server 2003上如何搭建CA服务,并启用SSL.废话不多说,直接开始搭建环境.想要知道证书服务器CA是怎么一回事,或想要知道SSL原理的朋友,请自行百度,说的非常清楚一. 搭建证书服务器1. 在系统的控制面板中找到"添加或删除程序",点击打开2. 点击左侧"添加/删除windows组件",选中网络服务和证书服务,点击下一步这里为什么还要选择网络服务和应用程序服务呢,因为"证书服务web注册支持"依赖于IIS3

搭建私有CA服务器

1.CA是什么 CA(Certificate Authority)证书颁发机构主要负责证书的颁发.管理以及归档和吊销.证书内包含了拥有证书者的姓名.地址.电子邮件帐号.公钥.证书有效期.发放证书的CA.CA的数字签名等信息.证书主要有三大功能:加密.签名.身份验证. 2.搭建CA服务器 2.1 生成秘钥 [[email protected] CA]# cd /etc/pki/CA/ #切换到CA目录 [[email protected] CA]# (umask 077; openssl genr

Centos6.4 搭建Git服务器 (最简单的方法)

下载 git-1.8.2.tar.gz tar -zvxf git-1.8.2.tar.gz cd git-1.8.2.2 sudo make prefix=/usr/local/git all sudo make prefix=/usr/local/git install git –version 查看版本 以上是服务器安装. 下面是建库. centos服务器上建库及测试 mkdir /git cd /git git –bare init //建立空仓库 git ssh-keygen (建本地

linux 搭建CA服务器 http+ssl mail+ssl 扫描与抓包

搭建CA服务器 CA服务是给服务器发放数字证书,被通信双方信任,独立的第三方机构 国内常见的CA机构 中国金融认证中心(CFCA) 中国电信安全认证中心(CTCA) 北京数字证书认证中心(BJCA) PKI公钥基础设施 一套标准的密钥管理平台 通过公钥加密,数字证书技术确保信息安全 PKI体系的基本组成 权威认证机构(CA) 数字证书库,密钥备份及恢复系统 证书作废系统,应用接口 ----------------------------------------------OpenSSL加密工具

十分钟用Windows服务器简单搭建DHCP中继代理!!

                     十分钟用Windows服务器简单搭建DHCP中继代理!! 一.什么是中继代理? 大家都知道DHCP分配地址都需要用到IP广播,但是广播是不能在两个网段之间进行的.那么和DHCP服务器不是在同一个网段的客户机怎么获得相应的IP地址呢?这时,就要用到DHCP中继代理了. 在另一个Windows服务器上只要配备两块网卡,再安装一个简单的服务器"角色"就可以实现DHCP中继代理了! 二.实验拓补图 三.实验步骤 1.配置DHCP服务器 1.1).注意,

私有CA服务器的搭建

openssl是实现ssl协议的应用程序,可以使用yum install -y openssll来安装,构建私有CA之前先来了解openssl的使用: openssl的主配置文件:/etc/pki/tls/openssl.cnf [CA_default] dir:CA的主目录 certs:已颁发证书的存储位置 crl_dir:已吊销证书的存储位置 database:证书索引文件 new_certs_dir:新颁发证书的存储位置 certificate:CA证书文件 serial:证书颁发时的当前

七技术之Git服务器gitolite的搭建及简单操作

最近人比较懒了,为了让自己改变一下,所以决定抽空去学习一些新的技术,对于这些新的技术,目前的要求不是很高,只是要求入门就可以了. 由于本人只是花三四天整出来的东西,所以不洗勿喷,另外难免会有错误,如有还请指出. 环境: Ubuntu server 14.04.1 .Git 1.9.1 gitolite3 对于Git的介绍这里就不介绍,有兴趣的大家可以自己去网上搜搜. 下面介绍怎么安装Git服务器gitolite,以及怎么建立仓库.添加用户等操作,本篇文章不会介绍太多的Git本身的命令,因为我自己

搭建CA服务器

搭建CA服务器 CA服务器即我们平时所说的证书颁发机构,由于现在安全问题日益严重,为了保证数据传输的机密性,交易者双方身份的确定性等问题,我们需要采用一种安全机制来实现这些功能,在这里我们来探讨以下PKI体系中的"证书",也就是如何来构建一个CA的环境来保证安全性. CA(证书颁发机构)主要负责证书的颁发.管理以及归档和吊销,我们可以把证书认为是我们开车需要使用的驾驶执照.证书主要有三大功能:加密.签名.身份验证.这里不在具体阐述加密相关知识,这里主要讨论如何来实现CA的环境. OK.