使用OpenSSL实现CA证书的搭建过程

什么是CA

CA,Catificate Authority,通俗的理解就是一种认证机制。它的作用就是提供证书(也就是服务端证书,由域名,公司信息,序列号,签名信息等等组成)来加强客户端与服务器端访问信息的安全性,同时提供证书的发放等相关工作。国内的大部分互联网公司都在国际CA机构申请了CA证书,并且在用户进行访问的时候,对用户的信息加密,保障了用户的信息安全。理论上来说,任何组织或者个人都可以扮演CA的角色,只不过,难以得到客户端的信任,不能推而广之,最典型应用莫过于12306网站,这个网站就是自己给自己颁发的根证书。
目前能够让浏览器默认支持的CA大厂有很多,Windows 操作系统在安装之初,也默认安装了很多受信任的根证书。可以通过控制面板–Internet选项来进行查看。

SSL/TLS

SSL/TLS是网络通信过程中非常重要的两个协议。互联网的通信安全就建立在SSL/TLS协议基础之上。他们通过一系列的加密行为保障了通信的安全,是如今互联网通信最主要的应用之一。

SSL/TLS是一个很大的互联网应用,关于他们的介绍互联网上有很多,我们暂时不做详细的介绍。关于SSL/TLS通信的过程大致可以用下面的这张图来进行描述。

OpenSSL

OpenSSL是一套开源软件,在Linux中可以很容易的安装。它能够很容易的完成密钥生成以及证书管理。我们接下来就利用OpenSSL搭建CA证书,并实现证书的申请与分发。

OpenSSL实现CA证书的搭建

  • 实验环境的准备
  • CA的配置介绍
  • 创建所需要的文件
  • CA 自签名证书
  • 颁发证书
  • 查看证书状态
  • 证书吊销

实验环境的准备

首先我们应该准备三个虚拟机,他们分别用来表示根CA证书机构,以及子CA证书机构,和证书申请用户。 那么问题来了,用户向子CA证书机构申请证书,子CA机构向根CA机构申请授权,根CA是如何取得证书的呢?答案是根CA自己给自己颁发的证书。 实验环境的拓扑结构如下图所示。

CA配置介绍

要手动创建CA证书,就必须首先了解,OpenSSL中关于CA的配置,配置文件位于下面的/etc/pki/tls/openssl.cnf

####################################################################[ ca ]default_ca= CA_default		#默认CA####################################################################[ CA_default ]dir=/etc/pki/CA		# CA的工作目录这里其实是定义了一个变量certs= $dir/certs		# 证书存储路径crl_dir= $dir/crl		# 证书吊销列表database= $dir/index.txt	# 证书数据库列表new_certs_dir= $dir/newcerts		#新的证书路径certificate	= $dir/cacert.pem 	# CA自己的证书serial= $dir/serial 		#下一个证书的编号,十六进制,默认00crlnumber= $dir/crlnumber	#下一个要被吊销的证书编号,十六进制,默认00crl	= $dir/crl.pem 		# The current CRLprivate_key	= $dir/private/cakey.pem # CA 的私钥RANDFILE= $dir/private/.rand	# private random number filex509_extensions	= usr_cert		# The extentions to add to the cert# Comment out the following two lines for the "traditional"# (and highly broken) format.name_opt = ca_default		# 命名方式cert_opt = ca_default		# CA的选项# Extension copying option: use with caution.# copy_extensions = copy# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs# so this is commented out by default to leave a V1 CRL.# crlnumber must also be commented out to leave a V1 CRL.# crl_extensions= crl_extdefault_days= 365			# 默认证书的有效期限default_crl_days= 30			# how long before next CRLdefault_md= default		# use public key default MDpreserve= no			# keep passed DN ordering# A few difference way of specifying how similar the request should look# For type CA, the listed attributes must be the same, and the optional# and supplied fields are just that :-)policy= policy_match  	#策略
								#这里记录的是 将来CA在搭建的时候,以及客户端申请证书的时候,
								需要提交的信息的匹配程度。# For the CA policy[ policy_match ]				# match意味着CA以及子CA必须一致countryName	= match				# 国家stateOrProvinceName= match		# 州或者省organizationName= match			#组织公司organizationalUnitName	= optionalcommonName= suppliedemailAddress= optional# For the ‘anything‘ policy# At this point in time, you must list all acceptable ‘object‘# types.[ policy_anything ]				#可以对外提供证书申请,这时,证书的匹配就可以不用那么严格countryName	= optional
stateOrProvinceName	= optionallocalityName= optionalorganizationName= optional
organizationalUnitName	= optional
commonName	= suppliedemailAddress= optional

创建所需要的文件

这里有一点需要注意,我们的实验环境中包含了三个主机,其中两个的角色是作为CA认证机构存在的,所以创建所需要的文件的时候,主机A和主机B都需要创建。 如果不提前创建这两个文件,那么在生成证书的过程中会出现错误。 我们将文件创建在配置文件中指定的路径下面。

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

CA 自签名证书(构造根CA)

首先构造根CA的证书。因为没有任何机构能够给根CA颁发证书,所以只能根CA自己给自己颁发证书。

首先生成私钥文件

私钥文件是非常重要的文件,除了自己本身以外,其他任何人都不能取得。所以在生成私钥文件的同时最好修改该文件的权限,并且采用加密的形式进行生成。

# 执行命令生成私钥文件。# 采用了des3的方式对私钥文件进行了加密# 同时临时指定了umask ,使得生成的私钥文件只对自己具有读写权限。[[email protected] ~]#(umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem -des3 2048 )Generating RSA private key, 2048 bit long modulus
...............+++
.......................................+++
e is 65537 (0x10001)Enter pass phrase for /etc/pki/CA/private/cakey.pem:			#这里需要输入密码Verifying - Enter pass phrase for /etc/pki/CA/private/cakey.pem:		#这里确认密码#  查看一个生成的私钥文件,就会发现已经被加密了[[email protected] ~]#cat /etc/pki/CA/private/cakey.pem
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,A4FB61EACD1544F2

9JrKVEPhnWhx1W+W1V4PdIvVHNDwb8mb0JYILvXZKc07gvNcYKIlvUoTxjtihbpk
wYQcVm0Z6b2+fjZBXVVR9igFB2OOE74BnSNMsbfPTs5W/SwWLxv0R6x0SbiZ8v/7
D6Qh3u/rXmOQWWTvQnLzh6JaT00c8zgUnn48vMev17Xyg32oJqKqJVL5RNBGmJur
6CaWX8mB5q+HYiBUXzNLQp9T3HNGcnmDNyk0gylEvjeJo3Hq+IOAkjfJE4sYO9ER
tQtsLViFUc5jXX7p0nIO0ANwE7zdjBt9I4aXknZiC4rFYJJtNSa1Wrhoo/MhuwWH
zjc4UyoB1C71sbq2LMgeElHhXN/TfqWGfXFqhkyBJwgrmzQibOJSFeWHZNurILof
UwgNLlABmazvIL5Ps6LgZtyrO2ODSDTzPiCO7kQ0S3mTHYk9+WEeEyMb4uum6oAx
oCofADL0wea+5mHVUA2s6KwRBFr01HiQ00fiul6LFvXdCwt9IL62blIJYn2veQHl
oPvC5cTnPVqJ28GJWbPvJjiOLB8Hh+4DPwxaRA1eYf2R9SR0R1SYJIBTI6NNqNwW
Lq+pD89bGCbFdYID+kAZfG27FonmmLvvhTn3jQKVPpwQBROHQ9gpwMLnpmpJWwNK
byUSit+Vt+mvbzOLjuTdsTzklwZEOkNpaE/jTqusWuhXS33D4bqA+Ws+xNVDnx6e
rbrGcbX9skXyti21oEIYem0H37ZS2fV9z+/CM/55maOX5xNVQ4aDxWuiMyyUd03D
nhhM5A4mcDvIZLpWDbHzjtkl2H9Pnb9fvGzOIOm7lVQrX8BdidpWjwGTLYG/zUX5
i9NimSnoiqgkhEYl8KXzbnMfD4hX69BXI7le5HAaS38wDKPsmRRW/dgGfRNKzfTZ
qmBimscMsllz21QnG9eqineFDdexGZw1oEQsHp2CivtEwaIKTqOZfNiwHJvm1cbz
M0NOgs+r2qze0czV9dTqM5pVND1Iac1DXYflYZ9g54riQNre/sHp1qpdNQHRRMTP
yTFnGsEfWmI4V4HiSrdQpyHIrnFUryse9kJmRKDfQK7icUf5/KrOD4FOS5zsHrep
/cE14w7s0Zqko9upkYQNBys5TbBmAK8yVJ/Zq7jU3qjDxkYNddpOt8k33vl9CG53
OeWxcWOzJCHIOjakJlLnS+XitsSY4hzUlfEO0/Ffi99zyHXybNPws5Og4KNfgcqW
ReG943oKc5qplfST2tr0K10ipD3WoV+lMbLugrwhfmVOyHGypfJhUMU0oKEjYPP3
JjHSiW0hrnNvrPQ4/mqSps3LyWYZWvH40N88U6dbxgbUgamXLHWtzJdyfBNii8uH
obtye7oeYpAzx0hNurXhpSoswFbxwU5u80eL0/YkfkzkL1P9vtMvDUw/TVNbwHVg
kTS9WEQA52XLMBtanzRzLGJVIXX6ODGgXt2Gql3KO1p43OyZq4Ksvyj8NuvdmBdO
y9SrMvv+cdOMmTkj4nmGBjqSDeFmrSSQf0HoUbfXXXw/RIW/gkcm4qPmNJXUolYp
WBOg5jT78pcJ2sRwb6YQDgC5HleBwuZujixUlKgdZxF1DEpJNBFnNDxq8yKadEzB
-----END RSA PRIVATE KEY-----

生成自签名证书

私钥文件是非常重要的文件,除了自己本身以外,其他任何人都不能取得。所以在生成私钥文件的同时最好修改该文件的权限,并且采用加密的形式进行生成。

# 调用命令生成一个签名证书# 生成证书的过程中需要输入之前设定的私钥的密码# -new: 生成新证书签署请求# -x509: 专用于CA生成自签证书# -key: 生成请求时用到的私钥文件# -days n:证书的有效期限# -out /PATH/TO/SOMECERTFILE: 证书的保存路径[[email protected] ~]#openssl req -new -x509 -key  /etc/pki/CA/private/cakey.pem -days 7300 -out  /etc/pki/CA/cacert.pem
Enter pass phrase for /etc/pki/CA/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) []:shandong
Locality Name (eg, city) [Default City]:qingdao
Organization Name (eg, company) [Default Company Ltd]:pojun.tech
Organizational Unit Name (eg, section) []:opt
Common Name (eg, your name or your server‘s hostname) []:ca.pojun.tech
Email Address []:

颁发证书

颁发证书这里我们将分成两个环节介绍,分别是 子CA证书机构向根CA证书机构申请证书以及普通用户向子CA证书机构申请证书。

子CA证书机构向根CA申请证书

A 在需要使用证书的主机上生成证书请求

首先在B主机上生成私钥,这一个过程与前面根CA机构生成私钥的过程是一致的。

# 这次我们修改了私钥的长度# 并且没有采用加密的方式生成# 因为主机B是要作为子CA机构的形式存在,他也是一个CA,所以生成私钥的时候,就应该按照配置文件中指定的内容,生成cakey.pem[[email protected] pki]$(umask 066; openssl genrsa -out /etc/pki/CA/private/cakey.pem 1024)Generating RSA private key, 1024 bit long modulus
......++++++
..............++++++
e is 65537 (0x10001)# 查看私钥文件可以发现,没有了加密的标识# 同时因为生成时指定了1024的长度,私钥的长度明显的变短了。[[email protected] ~]$cat /etc/pki/CA/private/cakey.pem
-----BEGIN RSA PRIVATE KEY-----
MIICXgIBAAKBgQCxLyAKQCkysisrsuou6oJFJHs/Gk9L406x6sON1a2JX3516FJ2
·····中间省略······R1ogCVEZq36sgNYUwaT55gLKk5Ik5T6YQimy0bsvo5oQuw==-----END RSA PRIVATE KEY-----

利用私钥文件,生成证书申请文件。

# 其实这里的时间是没有必要指定的。# 因为证书的时间,是由颁发机构指定的,因此申请机构填写了时间也没用# 其中有些信息必须要与根证书的内容相同因为在根证书的openssl.cnf文件中已经指定。[[email protected] tls]$openssl req -new -key /etc/pki/CA/private/cakey.pem  -days 3650 -out /etc/pki/tls/subca.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) []:shandong
Locality Name (eg, city) [Default City]:qingdao
Organization Name (eg, company) [Default Company Ltd]:pojun.tech
Organizational Unit Name (eg, section) []:opt
Common Name (eg, your name or your server‘s hostname) []:subca.pojun.tech     
Email Address []:

# 这里的两步 默认也可以不用填
Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []:123456
An optional company name []:magedu.com

B 将证书的申请文件,传递给根CA

将前一步生成的证书的申请文件,传递给根CA机构

# 最好将申请文件,传输到指定的目录下,这样便于管理[[email protected] tls]$scp /etc/pki/tls/subca.csr  172.18.253.127:/etc/pki/CA

C CA颁发证书

此时切换到根CA主机,生成证书

# 这里的时间必须要进行指定。这时证书颁发机构指定的证书的有效期。# [[email protected] CA]#openssl ca -in /etc/pki/CA/subca.csr -out /etc/pki/CA/certs/subca.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: Sep 11 14:38:13 2017 GMT
            Not After : Sep 11 14:38:14 2018 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = shandong
            organizationName          = pojun.tech
            organizationalUnitName    = opt
            commonName                = subca.pojun.tech
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                DB:3E:9C:F4:F4:E9:42:15:00:E7:35:52:FE:04:9A:48:8C:BD:1A:1B
            X509v3 Authority Key Identifier: 
                keyid:01:17:F1:CB:91:4B:20:AD:C7:DF:13:05:A4:D8:83:B2:AB:75:D1:05

Certificate is to be certified until Sep 11 14:38:14 2018 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#此时查看index.txt 文件中,会看到增加了一条新的记录。[[email protected] CA]#cat index.txt
V	180911143814Z		01	unknown	/C=CN/ST=shandong/O=pojun.tech/OU=opt/CN=subca.pojun.tech

D 将根CA生成的证书颁发给请求者

# 主机B是作为子CA机构存在的,所以证书文件,必须是cacert.pem,否则,子CA将不能够给其他用户颁发证书。[[email protected] CA]#scp  /etc/pki/CA/certs/subca.crt 172.18.250.114:/etc/pki/CA/cacert.pem

普通用户向子CA机构,申请证书

这一个过程,与子CA向根CA申请证书的过程是类似的。我们将命令的记录如下

#生成私钥文件# 因为是普通用户,所以生成的私钥文件应该与之前的cacert.pem 有所区别 [[email protected] ~]# (umask 066; openssl genrsa -out /etc/pki/tls/private/app.key 1024)#利用私钥文件,生成证书申请文件[[email protected] ~]# openssl req -new -key /etc/pki/tls/private/app.key  -out /etc/pki/tls/app.csr# 将证书申请文件发送给 子CA证书颁发机构[[email protected] ~]# scp /etc/pki/tls/app.csr  172.18.250.114:/etc/pki/CA# 切换到子CA证书颁发机构# 子CA证书颁发机构颁发证书[[email protected] CA]$openssl ca -in /etc/pki/CA/app.csr -out /etc/pki/CA/certs/app.crt -days 365#将生成的证书传递给申请者[[email protected] CA]$scp /etc/pki/CA/certs/app.crt  172.18.253.58:/etc/pki/CA/certs/

这样,正常的证书颁发流程就算是完成了。将我们生成的根证书,子CA证书以及普通用户证书导出到Windows系统中,并安装,然后我们就可以看到,整个证书路径了。如下图所示。

查看证书状态

查看证书状态,使用下面这条命令 ,可以查看证书的内容以及颁发者的多种信息。

openssl x509 -in /etc/pki/CA/cacert.pem -noout -text|issuer|subject|serial|dates

-text   证书的内容
-issuer 证书颁发者的信息
-subject  证书主体的信息
-serial	 证书的序列号信息
-dates 查看证书的时间# 证书颁发者的信息[[email protected] ~]#openssl x509 -in /etc/pki/CA/cacert.pem -noout -issuerissuer= /C=CN/ST=shandong/L=qingdao/O=pojun.tech/OU=opt/CN=ca.pojun.tech# [[email protected] ~]#openssl x509 -in /etc/pki/CA/cacert.pem -noout -subjectsubject= /C=CN/ST=shandong/L=qingdao/O=pojun.tech/OU=opt/CN=ca.pojun.tech# 证书的有效时间[[email protected] ~]#openssl x509 -in /etc/pki/CA/cacert.pem -noout -datesnotBefore=Sep 11 13:43:42 2017 GMTnotAfter=Sep  6 13:43:42 2037 GMT#也可以根据index.txt 文件中的证书编号,进行查看状态[[email protected] ~]#openssl ca -status 01
Using configuration from /etc/pki/tls/openssl.cnf01=Valid (V)

吊销证书

这里我们将子CA的证书吊销掉。

A 首先在子CA主机上获取到要吊销的证书的serial

前面的例子中,我们的子CA证书的存放路径是 /etc/pki/CA/certs/subca.crt

[[email protected] CA]$openssl x509 -in /etc/pki/CA/certs/subca.crt -noout -serial -subjectserial=01subject= /C=CN/ST=shandong/O=pojun.tech/OU=opt/CN=subca.pojun.tech

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

#进入到CA的路径下,查看文件目录[[email protected] CA]#pwd
/etc/pki/CA[[email protected] CA]#tree
.
├── cacert.pem
├── certs
│   └── subca.crt		# 这是直接颁发给子CA的证书文件├── crl
├── index.txt
├── index.txt.attr
├── index.txt.old
├── newcerts
│   └── 01.pem			#这个就是与子CA证书一致的Serial文件├── private
│   └── cakey.pem
├── serial
├── serial.old
└── subca.csr# 吊销子CA的证书 使用revoke 命令[[email protected] CA]#openssl ca -revoke /etc/pki/CA/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

C 指定第一个吊销证书的编号

指定吊销证书的编号,只有在更新证书吊销列表之前,才需要操作

# 这条命令与生成证书时指定证书serial 号码的作用是一致的。# 就是说,指定下一个证书吊销时的编号。[[email protected] ~]#echo 01 > /etc/pki/CA/crlnumber[[email protected] ~]#cat /etc/pki/CA/crlnumber
01

D 更新证书吊销列表

前面指定了证书吊销列表编号之后,就可以来更新证书吊销列表了。

[[email protected] ~]#openssl ca -gencrl -out /etc/pki/CA/crl/crl.pem
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem:   #这里提示输入密码

查看证书吊销列表的文件

[[email protected] ~]#openssl crl -in /etc/pki/CA/crl/crl.pem -noout -text
Certificate Revocation List (CRL):   #证书吊销列表
        Version 2 (0x1)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: /C=CN/ST=shandong/L=qingdao/O=pojun.tech/OU=opt/CN=ca.pojun.tech
        Last Update: Sep 12 11:58:17 2017 GMT
        Next Update: Oct 12 11:58:17 2017 GMT
        CRL extensions:
            X509v3 CRL Number: 
                1
Revoked Certificates:					#这里的标识显示,证书已经被吊销了
    Serial Number: 01					#吊销的序列号
        Revocation Date: Sep 12 11:52:47 2017 GMT
    Signature Algorithm: sha256WithRSAEncryption
         b4:6e:f2:73:21:ed:c4:38:39:06:29:76:61:ac:d6:ee:a4:5d:
         e8:cb:7c:8b:f8:01:21:ba:bd:b2:46:fa:ea:bf:de:fa:6e:f6:
         85:d6:93:7c:81:b4:2d:d5:eb:c2:94:a3:6f:13:6d:f3:3f:48:
         56:85:72:96:cf:e0:ea:a9:0e:07:43:6d:62:2d:4d:e2:2e:b5:
         02:6a:27:7a:31:76:eb:4e:b1:d6:83:8b:d7:39:10:14:d6:94:
         77:4b:10:d8:24:46:95:1b:48:87:16:77:ce:8c:1b:54:2c:4d:
         ee:2f:24:13:10:62:30:32:74:9e:84:49:c9:dc:a9:fc:31:60:
         57:b5:43:7a:a3:09:75:60:1e:6a:f2:26:e9:54:37:2d:ce:0b:
         ac:b2:41:c2:d9:02:99:fc:a3:99:15:9c:10:a7:f4:be:08:83:
         23:ee:ef:74:83:ea:fd:f7:c9:e1:87:6f:9b:1d:c3:df:88:2d:
         79:2b:71:4b:9e:6f:ae:f9:08:d9:66:d4:f1:49:df:7e:89:99:
         06:a3:86:72:37:02:78:0f:16:e8:87:8a:61:5b:a3:ac:e2:46:
         38:ce:86:29:c9:c6:e5:8c:f8:25:2f:7e:d1:62:13:57:a3:a6:
         10:42:13:b9:e4:0b:fa:9f:f4:d0:95:9b:5d:9b:2d:38:7f:8d:
         ac:c0:e6:3f

在实际的使用过程中,有很多这样的实例。例如我们经常使用的淘宝,在使用浏览器访问淘宝的时候,就可以查看淘宝的证书吊销列表。如下图所示。

至此,关于自己搭建CA的过程基本上就完成了。熟悉了上面的操作之后,就可以自己动手简单的搭建一个证书了,然后也可以体验一下整个流程

参考资料

http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html

http://www.ruanyifeng.com/blog/2014/02/ssl_tls.html

http://kb.cnblogs.com/page/197396/

个人博客地址:http://www.pojun.tech/ 欢迎访问

时间: 2024-10-20 07:16:15

使用OpenSSL实现CA证书的搭建过程的相关文章

Lync 2010 标准版之CA证书服务搭建(三)

点击"添加角色". 选择"Active Directory证书服务". 选择"证书颁发机构Web注册"的时候,会提示添加所需的角色服务. 选择"企业"CA. 选择"根CA". 选择"新建私钥". 一路选择"下一步". 开始安装. CA安装完成. 本节我们完成了域控服务器上面创建域和创建CA的操作. 证书有两个作用: 第一是用来证明远程计算机的身份 第二个作用就是用于进

OpenSSL生成CA证书及终端用户证书

环境 FreeBSD 11.1-RELEASE OpenSSL 1.0.2K 步骤 1. 生成CA根证书 1.1 准备ca配置文件,得到ca.conf vim ca.conf 内容如下 [ req ] default_bits = 4096 distinguished_name = req_distinguished_name [ req_distinguished_name ] countryName = Country Name (2 letter code) countryName_def

Windows servers 2008 环境下,CA证书服务器搭建。

CA证书这个东西好像是很久之前的东西了,现在已经不大用了,不过还是作为一种服务,搭建一下. 环境:Windows servers 2008 (虚拟机环境) 1.配置IP地址. 2.添加角色. 选择Active Directory 证书服务 下一步,记得勾上证书颁发机构Web注册 这里建立的是独立类型的CA. 第一次,选根CA 新建私钥 默认即可 这里的名称默认也行,为了方便好记我这里设置为fly. 时间随意,按需要来 依旧默认 这里如果没有装web还要装一下web环境 安装 安装完之后可以打开进

安装CA证书服务的一系列过程

安装CA证书服务的过程 打开一台server 2008服务器以及一台普通客户机win 7虚拟机. 下面是server 2008上面的IP地址和DNS地址的配置. 下面这是win 7上面的IP配置一定要和server 2008在同一个网段,如果你也是虚拟机要绑定同一个物理网卡. 在win 7虚拟机上面进行ping命令测试.结果如下:互联互通是做实验的最基本步骤. 在server 2008虚拟机上面打开服务器管理器进行添加角色. 这种服务一般都是为企业准备的所以最好先安装AD域. 下面是使用命令建立

linux下ftp服务各种模式和ca证书认证的搭建

Red hat 下vsftpd的搭建                            作者  浩浩哥来了 首先/etc/init.d/vsftpd   restart 查看在当前版本是不是存在vsftpd服务 如果路径无法补全,这需要手动安装. Yum install vsftpd* -y /etc/init.d/vsftpd  restart 将服务启动起来 Ifconfig 查看当前主机的ip地址 在windows中输入ftp://red hat 中的ip地址 匿名用户登录 Cd /v

实战:搭建CA认证中心,使用CA证书搭建HTTPS

CA认证中心服务端:xuegod63.cn                         IP:192.168.0.61客户端                  :xuegod64.cn                         IP:192.168.0.62CA:Certificate Authority的缩写,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书.认证中心(CA)的功能有:证书发放.证书更新.证书撤销和证书验证.CA证书作用:身份认证--->数据的不可否认性

自建CA证书搭建https服务器

1.理论知识 https简介 HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版.即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL. 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息.HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接

Linux系统搭建私有CA证书服务器

一.CA简介 CA是什么?CA是Certificate Authority的简写,从字面意思翻译过来是凭证管理中心,认证授权.它有点类似我们生活中的身份证颁发机构,这里的CA就相当于生活中颁发身份证的机构.不同于生活中的颁发机构,这里的CA是给服务器颁发证书.颁发证书的目的同生活中的办理身份证的目的类似,都是为了证明一件事,生活中的身份证可以证明我们是一个合法的公民,而服务器颁发证书的目的也是证明我们服务是一个合法的服务器,换句话说就是有了证书我们就可以清楚知道我们访问的服务器到底是不是我们真正

openssl req(生成证书请求和自建CA)

伪命令req大致有3个功能:生成证书请求文件.验证证书请求文件和创建根CA.由于openssl req命令选项较多,所以先各举几个例子,再集中给出openssl req的选项说明.若已熟悉openssl req和证书请求相关知识,可直接跳至后文查看openssl req选项整理,若不熟悉,建议从前向后一步一步阅读. 首先说明下生成证书请求需要什么:申请者需要将自己的信息及其公钥放入证书请求中.但在实际操作过程中,所需要提供的是私钥而非公钥,因为它会自动从私钥中提取公钥.另外,还需要将提供的数据进