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自己签署自己的证书

req -days #     有效天数

req -news  新请求

req  -key  /path/file   指定私钥文件

openssl -new -x509  -key /etc/pki/CA/private/cakey.pem  -out /etc/pki/CA/cacert.pem -days 3655   ###最后文件最好保持一致,不然要修改配置文件;然后填写详细信息(可以改配置文件,修改默认配置)

生成的这个证书要给每个节点发一份

3.初始化工作环境:

#touch /etc/pik/CA{index.txt,serial}

#echo 001> /etc/pki/CA/serial

二、节点申请证书

A。节点要生成请求

生成密钥对,同上第一步中

生成证书签署请求

把签署的请求文件发给CA服务器

#scp httpd.csr  1.1.1.1:/etc/pki/CA/csr   要输入1.1.1.1的密码  然后到服务器上  openssl ca -in /etc/httpd/ssl/csr/httpd.csr -out /etc/httpd/ssl/httpd.crt -days 1000

#scp httpd.crt 2.2.2.2:/crt   ca服务器发回证书给请求者

B。CA要签署证书

1.验证证书中的信息

2.签署证书    openssl ca -in /etc/httpd/ssl/httpd.csr -out /etc/httpd/ssl/httpd.crt -days 1000  然后验证y  并提示database updated 数据库已更新,签署后可以删除请求文件或者换个位置保存

3.发送给请求者

三、吊销证书

A。节点请求吊销证书,要告诉CA服务器自己的序号是多少

1.获取证书seral        #openssl x509 -in /path/*.crt  -noout -serial -subject

2.CA服务器验证节点提交信息查看是否一致

3.CA服务器吊销证书:  ##  openssl ca -revoke /etc/pki/CA/newcerts/序号.pem

4.生成证书吊销列表   #第一次吊销  echo 00 >/etc/pki/CA/crlnumber

5.跟新吊销列表文件  #cd /etc/pki/CA/crl

#openssl ca -gencrl -out /etc/pki/CA/crt/ca.crl  -noout -text             ####查看吊销证书  openssl crl -in /etc/pki/CA/crl/ca.crl





附:基础知识


OpenSSL:一种开源的,用于保证数据传输安全的一种实现方式

NIST:CIA

保密性:数据保密性,隐私性    C

完整性:数据完整性,系统完整性   I

可用性:  A

真实性,可追溯性

OSI: x.800

安全攻击

主动攻击:伪装,重播,消息修改,拒绝服务

被动攻击:窃听

安全机制

加密,解密;数字签名;访问控制;数据完整性;认证交换;流量填充;路由控制;公证

安全服务

认证

访问控制:阻止非授权访问

数据保密性:连接保密性,无连接保密性,选择域保密性,流量保密性

数据完整性

不可否认性

密码算法和协议:

对称加密:加密和解密方使用同一密码

非对称加密:公钥 私钥   不通  ----加密速度慢;公钥是从私钥生成的

单项加密:(数据完整性加密)

认证协议:通信双方的身份验证

明文:clear text    plain text

密钥

密文

加解密算法

对称加密:DES、3DES、AES(密钥长度远大于DES)、Blowfish、Twofish、IDEA、RC6、CAST5

加密解密使用统一口令;将明文分割成固定大小的块

对称加密缺点:密钥过多;密钥传输;密钥交换

公钥加密:非对称加密

密钥:public key、secret key

p/s   public/secret

公钥主要用于:身份认证 并不能保证数据的安全性,仅仅是完成身份认证

单项加密:定长输出,雪崩效应,(md5,SHA1)  a发给b({数据指纹(用a的私钥加密)及源数据}大括号内的数据用a生成的密钥进行加密,加密算法是对称加密,假设密码为secret;然后把secret密码用b的公钥进行加密后生成数据CCC)即CCC{用a私钥加密的数据指纹及源数据},b使用自己的私钥解密CCC得到对称加密的密钥secret,然后使用对称加密算法解密(密钥secret)数据和数据指纹(数据指纹用a的公钥解密),然后用生成指纹工具生成指纹和a发来的指纹对照 然后判断

PKI:公钥基础设施  Public key infrastructure

签证机构:CA

注册机构:RA

证书吊销列表:CRL

证书存取库:

常用加密算法:RSA  DSA  EIGamal

IKE   密钥交换

ITU-T:  x.509 证书标准,证书结构和认证协议的标准

SSL  Netscape公司发明的;secure socket  Layer

ssl v1  v2 v3

TLS:transport Layer Security

TLSv1

gpg; openssl   linux下的两种工具

rpm -ql  openssl

openssl:多用途工具

libcrypto:公用加密库

libssl:ssl协议的实现

[[email protected] ~]# openssl version

OpenSSL 1.0.1e-fips 11 Feb 2013

OpenSSL> help

openssl:Error: ‘help‘ is an invalid command.

Standard commands

asn1parse         ca                ciphers           cms

crl               crl2pkcs7         dgst              dh

dhparam           dsa               dsaparam          ec

ecparam           enc               engine            errstr

gendh             gendsa            genpkey           genrsa

nseq              ocsp              passwd            pkcs12

pkcs7             pkcs8             pkey              pkeyparam

pkeyutl           prime             rand              req

rsa               rsautl            s_client          s_server

s_time            sess_id           smime             speed

spkac             ts                verify            version

x509

Message Digest commands (see the `dgst‘ command for more details)

md2               md4               md5               rmd160            

sha               sha1  

Cipher commands (see the `enc‘ command for more details)

aes-128-cbc       aes-128-ecb       aes-192-cbc       aes-192-ecb       

aes-256-cbc       aes-256-ecb       base64            bf                

bf-cbc            bf-cfb            bf-ecb            bf-ofb            

camellia-128-cbc  camellia-128-ecb  camellia-192-cbc  camellia-192-ecb  

camellia-256-cbc  camellia-256-ecb  cast              cast-cbc          

cast5-cbc         cast5-cfb         cast5-ecb         cast5-ofb         

des               des-cbc           des-cfb           des-ecb           

des-ede           des-ede-cbc       des-ede-cfb       des-ede-ofb       

des-ede3          des-ede3-cbc      des-ede3-cfb      des-ede3-ofb      

des-ofb           des3              desx              idea              

idea-cbc          idea-cfb          idea-ecb          idea-ofb          

rc2               rc2-40-cbc        rc2-64-cbc        rc2-cbc           

rc2-cfb           rc2-ecb           rc2-ofb           rc4               

rc4-40            seed              seed-cbc          seed-cfb          

seed-ecb          seed-ofb          zlib              

对称加密:

工具:gpg,openssl enc

openssl enc -e -des3 -a -salt -in messages -out messages.cipher  加密一个文件

openssl enc -d -des3 -a -salt -in messages.cipher -out messages 输入加密时的命令

单项机密:

工具:md5sum,sha1sum,openssl dgst,chsum

#openssl dgst -md5/-sha1  -out /path/to/filename  /path/from/sourchfile

[[email protected] tmp]# md5sum nmap.sh

45891ce6197042d633818ebc995c6b7a  nmap.sh

[[email protected] tmp]# openssl dgst -md5 nmap.sh

MD5(nmap.sh)= 45891ce6197042d633818ebc995c6b7a

MAC:消息摘要码,单向加密的一种延伸类应用

用于实现网络数据传输中保证数据完整性

机制:CBC-MAC

HMAC:使用的是md5或者sha1的算法

集群时传送消息时会用到,保证集群中主机的合法性

用户密码:

openssl  passwd  命令   whatis passwd;man  sslpasswd才能看到解释

openssl passwd -1 -salt 13589

[[email protected] ~]# openssl passwd -1 -salt 880114

Password:

$1$880114$4qPBmNPziDG0Hss.fr3v31

两个$中间即880114   salt值

生成随机数:openssl rand   -base64  4   或者openssl rand -hex 4  生成8位随机数

    openssl passwd -1 -salt `openssl rand -hex 4`  用命令生成随机数

公钥加密:

算法:RSA,EIGamal

工具:gpg,openssl rsautl

数字签名:RSA  EIGamal  DSA

DSA:digital Gignature Algorithm  只能用于签名不能用于加密

DSS  数字签名标准

密钥交换:IKE

算法:公钥加密  DH

IKE:

DH:Diffie-hellman  地狱男爵

生成密钥对:gen???   whatis genrsa

openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] [-f4] [-3] [-rand file(s)] [-engine id] [numbits]
        openssl genrsa 2048 >mykey   默认644  修改为600权限

openssl genrsa 2048 -out /tmp/mykey

 (umask 077;openssl genrsa 2048 -out /tmp/mykey)  一条命令获得上面红色的效果

 提出公钥:

        openssl rsa -in /tmp/mykey -pubout 

x.509证书,持有者,公钥,,使用期限

B和a通信,则b向a要证书,避免都向CA要证书,使CA称为性能瓶颈

 rpm -ql  openssl  查看安装信息

时间: 2024-12-11 21:28:07

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

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

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

OpenSSL建立私有CA

yum安装OpenSSL: 提示已经安装过了. openssl的主配置文件:/etc/pki/tls/openssl.cnf [CA_default] dir:CA的主目录 certs:已颁发证书的存储位置 crl_dir:已吊销证书的存储位置 database:证书索引文件 new_certs_dir:新颁发证书的存储位置 certificate:CA证书文件 serial:证书颁发时的当前序列号 crlnumber:吊销证书的当前序列号 crl:当前使用的CRL private_key:CA

加密、解密以及openssl建立CA

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

加密、解密,以及OpenSSL建立自己的CA证书

在互联网上,你不想你发送给别人的机密数据,被人给看到,或者被人窃取的话,那么你知道该怎么办麽,下面我来给你介绍一下用什么方法来解决这个问题咯! 一.首先我来说说加密和解密的基本分类:主要有对称加密和非对称加密(或者叫公钥加密),还有一个我们使用的最多的一个加密叫单向加密,下面我分别来介绍一下它们: 1)对称加密:加密和解密使用同一个密钥,依赖于算法和密钥,安全性依赖于密钥而非算法 常见的算法有:DES (Data Encryption standard, 56bits) ,3DES,AES,bl

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

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

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

概述: 理论部分主要介绍了: 对称加密.非对称加密.单向加密.密钥交换.CA.PKI 操作部分主要有: 对称加密.非对称加密.单向加密的实现,已经openssl常用功能,生成密码.生成随机数已经使用openssl创建私有CA 系统环境说明: [[email protected] ~]# cat /etc/redhat-release  CentOS release 6.6 (Final) [[email protected] ~]# uname -rm 2.6.32-504.el6.x86_64

openssl原理的初步理解与私有CA服务器的建立

加密算法主要分为对称加密算法和对称加密算法 一.对称加密算法的原理:使用相同的密钥进行加密运算的算法就是对称加密算法       加密过程(内容-->对称加密-->加密后的内容)       解密过程(加密内容-->对称加密方式-->解密后的内容)       优点与特点:速度块 加密相对安全 加密紧凑:缺点是不能用于大规模使用,会随参与人数的正佳而映像密钥的存储和管理,不支持数字签名和不可否认性   二.  非堆成加密的原理:非对称算法需要每个参与者产生一对密钥,且将公钥共享到服

通过openssl建立CA

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

openssl工具详解及自建CA方法

前言: openssl是一款很强大的多用途的开源加密解密的命令行工具,比如创建私钥,创建证书签名请求,测试各种加密算法耗时等等. 在我们进入openssl工具讲解之前,我们有必要先了解先Linux下的加密解密方式,以及常用的加密算法与协议. 然后最后我们详细讲解使用openssl自建CA的方法 目录: 1. Linux加密解密过程: 如图: 2. 常用密码算法和协议 常用的加密算法有三种: 1. 对称加密算法: 同一个密钥可以同时用作信息的加密和解密,将明文分割成固定大小的块,逐个进行解密,这种