通过openssl建立CA

1 CA简介

  CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有权。比如Alice和Bob通信,中间通信万一被黑客C监听到,冒充Alice和Bob,这样信息就会泄密,这时候通过CA来验证双方身份的真实性。证书内容包括1,证书的持有者的相关信息2,CA的相关信息3,证书的使用方法4,公钥信息PKI—public key instruction 公钥基础设施:核心是CA。

2 CA建立的步骤

1 ),openssl 建立私有CA,其中包括生成秘钥;自签证书

2),节点需要:生成秘钥对;生成证书签署请求;把请求发送给CA

3),CA:验证请求者的信息;签署证书;签好的证书发送给请求者。

3,实验步骤

1,建立CA服务器,生成秘钥,文件必须是400或者是600权限

[[email protected] private]# (umask 077; openssl genrsa -out /etc/pki/CA/private/ccc.pem 2048)

Generating RSA private key, 2048 bit long modulus

................................................................................................+++

.........+++

e is 65537 (0x10001)

[[email protected] private]# ls

cakey.pem  ccc.pem

这里必须是 在/etc/pki/CA/private目录下,之前已经生成cakey.pem文件,此次用ccc.pem文件。

2 req:生成证书签署请求

-x509 生成签署证书

-day X 有效X天

-new   心情求

-key   /path/to/keyfile:制定私钥文件

-out   /path/to/somefile 指定加密后要保存的文件名

自签证书

[[email protected] private]# openssl req -new -x509 -key /etc/pki/CA/private/ccc.pem -out /etc/pki/CA/cace.pem -days 30

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) []:HA

Locality Name (eg, city) [Default City]:ZZ

Organization Name (eg, company) [Default Company Ltd]:ZZC

Organizational Unit Name (eg, section) []:SI

Common Name (eg, your name or your server‘s hostname) []:localhost.localdomain

Email Address []:cc.ccc.com

[[email protected] private]# ls

cakey.pem  ccc.pem

3,我们要初始化环境

[[email protected] private]# touch /etc/pki/CA/{index1.txt,serial1}

[[email protected] private]# echo 01 > /etc/pki/CA/serial1

4,节点申请证书

1)生成密钥对

[[email protected] ssl]# (umask 077; openssl genrsa -out /etc/httpd/ssl/htt.key 2048)

Generating RSA private key, 2048 bit long modulus

...................+++

.............+++

e is 65537 (0x10001)

这时是在另外一台主机上建立生成的密钥对

2)生成证书签署请求

[[email protected] ssl]# (umask 077; openssl genrsa -out /etc/httpd/ssl/htt.key 2048)

Generating RSA private key, 2048 bit long modulus

...................+++

.............+++

e is 65537 (0x10001)

[[email protected] ssl]# openssl  req -new -key /etc/httpd/ssl/htt.key  -out /etc/httpd/ssl/htt.csr

Country Name (2 letter code) [XX]:CN

State or Province Name (full name) []:HA

Locality Name (eg, city) [Default City]:ZZ

Organization Name (eg, company) [Default Company Ltd]:ZZX

Organizational Unit Name (eg, section) []:localhost.localdomain

Common Name (eg, your name or your server‘s hostname) []:cc.ccc.com

Email Address []:

Please enter the following ‘extra‘ attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

3)把签署请求发送给CA服务器

[[email protected] ssl]# scp htt.csr 172.16.249.55:/etc/pki/CA/csr/

[email protected]‘s password:

htt.csr                                                          100% 1009     1.0KB/s   00:00

5 CA签署证书

[[email protected] CA]# openssl ca -in csr/htt.csr -out csr/htt.crt -days 30

Using configuration from /etc/pki/tls/openssl.cnf

Check that the request matches the signature

Signature ok

The stateOrProvinceName field needed to be the same in the

CA certificate (Henan) and the request (HA)  二者不一致的话,是不签署的,所以要在从新生成一个openssl  req -new -key /etc/httpd/ssl/htt.key  -out /etc/httpd/ssl/htt.csr

[[email protected] CA]# openssl ca -in csr/htt.csr -out csr/htt.crt -days 30

Using configuration from /etc/pki/tls/openssl.cnf

Check that the request matches the signature

Signature ok

Certificate Details:

Serial Number: 2 (0x2)

Validity

Not Before: Aug  1 05:37:57 2014 GMT

Not After : Aug 31 05:37:57 2014 GMT

Subject:

countryName               = CN

stateOrProvinceName       = Henan

organizationName          = MageEdu

organizationalUnitName    = Ops

commonName                = localhost.localdomain

X509v3 extensions:

X509v3 Basic Constraints:

CA:FALSE

Netscape Comment:

OpenSSL Generated Certificate

X509v3 Subject Key Identifier:

90:AB:55:BA:57:63:2E:06:93:FD:EA:50:4B:9E:5B:40:C1:56:43:6E

X509v3 Authority Key Identifier:

keyid:59:50:01:C7:01:0A:49:70:21:71:AE:A4:26:94:25:78:1A:EA:35:14

Certificate is to be certified until Aug 31 05:37:57 2014 GMT (30 days)

Sign the certificate? [y/n]:

3 发送给请求者

[[email protected] CA]# scp csr/htt.crt 172.16.31.1:/root

[email protected]‘s password:

htt.crt                                                          100% 4556     4.5KB/s   00:00

[[email protected] ~]# mv htt.crt  /etc/httpd/ssl  验证机在吧证书放到这个/etc/httpd/ssl目录下

一次CA签证结束,祝您成功~~~

通过openssl建立CA

时间: 2024-10-13 06:03:48

通过openssl建立CA的相关文章

Openssl建立CA,在组织内部基于ca的认证

Openssl建立CA,在组织内部基于ca的认证 1.给自己生成一对密钥 2.自签署证书 节点:1.生成密钥对   2.申城证书签署请求    3.把请求发送给CA CA: 1.验证请求者信息     2.签署证书 一.建立CA服务器 /etc/pki/CA/private用于存放CA的私钥 1.(umask 077:openssl genrsa -out /etc/pki/private/cakey.pem 2048)   生成密钥 2.req -x509 自签署证书,常用于CA自己签署自己的

加密、解密以及openssl建立CA

首先先科普一下OpenSSL,我们知道OpenSSL,全名叫Open Secure Sockets Layer,这是一个强大的安全套接字层密码库,主要包括密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的程序供测试或其它目的使用.此外,OpenSSL是基于SSL协议的,SSL要求建立在可靠的传输层协议之上.它优势在于它是与应用层协议独立无关的,高层的应用层协议(例如:HTTP,FTP,TELNET等协议)能透明地建立于SSL协议之上.SSL协议在应用层协议通信之前就已经完成加密算法

加密、解密   以及OpenSSL建立私有CA

加密.解密,以及OpenSSL建立私有CA 加密技术是互联网最常用的安全保密手段,其利用技术手段把重要的数据加密后传送,到达目的地后再用相同或不同的手段进行解密. 加密技术包括两个元素:算法和密钥 常用的加密技术:对称加密.非对称加密.单向加密 以上几种加密技术各有千秋,经常组合起来使用 1.对称加密 加密和解密使用同一个密钥,将明文分隔成固定大小的块,逐个进行加密: 常见算法:DES  3DES  Twofish  IDEA  IDEA  CAST5  RC6 Blowfish 2.非对称加密

加密、解密以及OpenSSL建立私有CA

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用.大多数开源程序,商业软件加密核心都是基于openssl实现的. 数据安全性的基本法则: (1)数据的保密性:信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数据的保密.加密的过程需要用到密钥来加密数据然后再解密.没有了密钥,就无法解开加密的数据.数据加密之后,只有密钥要用一个安全的方法传送.加密过的数据可以公开地传送. (2)完整性:

加密、解密的原理及Openssl创建CA和ssh的基础应用

加密.解密的原理及Openssl创建CA和ssh的基础应用 随着互联网的不断发展和技术的不断成熟,在互联网上传输文件不在安全,在需要传送重要的数据时就必须加密处理. 密码算法分为三种:分别是对称加密,公钥加密,单向加密:以及需要对加密算法的认证,叫做认证协议.下面为大家概述对称加密,公钥加密,单向加密及认证协议 对称加密: 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密. 需要对加密和解密使用相同密钥的加密算法.由于其速度快,对称性

Linux之加密解密基础、openssl及CA基础应用

加密解密基础简介 数据在网络中传输过程中要保证三个要点: (1)数据的完整性:防止数据在传输过程中遭到未授权用户的破坏或篡改 (2)数据的机密性:防止文件数据泄漏给未授权用户从而让其利 (3)数据的可用性:保证授权用户能按需访问存取文件数据 因此加密技术是最常用的安全保密手段,利用技术手段把重要的数据变为乱码(加密)传送,到达目的地后再用相同或不同的手段还原(解密).加密技术包括两个元素:算法和密钥.算法是将普通的信息或者可以理解的信息与一串数字(密钥)结合,产生不可理解的密文的步骤,密钥是用来

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

什么是CA CA,Catificate Authority,通俗的理解就是一种认证机制.它的作用就是提供证书(也就是服务端证书,由域名,公司信息,序列号,签名信息等等组成)来加强客户端与服务器端访问信息的安全性,同时提供证书的发放等相关工作.国内的大部分互联网公司都在国际CA机构申请了CA证书,并且在用户进行访问的时候,对用户的信息加密,保障了用户的信息安全.理论上来说,任何组织或者个人都可以扮演CA的角色,只不过,难以得到客户端的信任,不能推而广之,最典型应用莫过于12306网站,这个网站就是

Openssl 创建CA和申请证书

Openssl 创建CA和申请证书 =============================================================================== 概述: 本章是上篇加密解密技术的续,主要介绍Openssl创建CA.申请证书.办法证书的整个操作,具体内容如下: 创建私有CA: 给节点颁发证书: 吊销证书  详情查看上篇加密解密技术:http://1992tao.blog.51cto.com/11606804/1856438 ============

在libuv中使用openssl建立ssl连接

在libuv中使用openssl建立ssl连接 @(blogs) 使用openssl进行加密通信时,通常是先建立socket连接,然后使用SSL_XXX系列函数在普通socket之上建立安全连接,然后发送和接收数据.openssl的这些函数可以支持底层的socket是非阻塞模式的.但当将openssl和libuv进行结合时,会遇到一些问题: 1. openssl在进行数据读写之前,需要进行若干次"握手"."握手"中会有若干次的数据读写.这个在普通的socket连接中