码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2015-04-23 00:16:13      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:技术   互联网   保密   数据加密   特征码   

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

加密技术是互联网最常用的安全保密手段,其利用技术手段把重要的数据加密后传送,到达目的地后再用相同或不同的手段进行解密。

加密技术包括两个元素:算法和密钥

常用的加密技术:对称加密、非对称加密、单向加密

以上几种加密技术各有千秋,经常组合起来使用

1、对称加密

加密和解密使用同一个密钥,将明文分隔成固定大小的块,逐个进行加密;

常见算法:DES  3DES  Twofish  IDEA  IDEA  CAST5  RC6 Blowfish

2、非对称加密:也称为公钥加密

    其有一密钥对儿:私钥和公钥

    私钥为个人所有,公钥为放在网上其他人任何人都可以得到

    公钥从私钥中提取而来;使用公钥加密的数据,只能使用与此公钥配对儿的私钥解密;反之亦然;

    常用于身份认证及密码交换、因其加密效率较低一般不用于较大数据的加密  

    常用算法:RSA  DSA(只能做数字认证) ELGamal

3、单向加密

数据只能加密不能解密,主要用于提取数据的特征码;

特性:定长输出 、 雪崩效应、不可逆

常用算法MD5  SHA  SHA256 SHA384 SHA512:

 

OpenSSL建立私有CA          

OpenSSL 是一个强大的安全套接字层密码库

用openssl创建CA时的配置文件:/etc/pki/tls/openssl.cnf ,配置文件中定义了创建时的一些默认配置;

在创建CA之前应先cat /etc/pki/tls/openssl.cnf了解一些默认配置。下面就在本机上看一下怎么建一个私有CA的

1、首先在自己主机上先建立一个可以签发证书的CA:

(1)生成私钥文件:

          # (umask 077; openssl genrsa -out/etc/pki/CA/private/cakey.pem 2048)

       (2)生成自签证书

       # openssl req -new -x509 -key/etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650

                    -new:生成新的证书签署请求;

                    -key:私钥文件路径,用于提取公钥;

                    -days  N: 证书有效时长,单位为“天”;

                    -out:输出文件保存位置;

                    -x509:直接输出自签署的证书文件,通常只有构建CA时才这么用;

      (3)根据提示输入一些信息……

       (4)提供辅助文件

                #touch /etc/pki/CA/index.txt

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

2、在其它主机上创建一CA申请

        (1)生成私钥;# (umask; openssl genrsa -out /etc/httpd/ssl/httpd.kye 1024)

        (2) 生成证书签署请求;#openssl req -new -key  /etc/httpd/ssl/httpd.kye -out  /etc/httpd/ssl/httpd.csr

         (3)根据提示输入一些信息……

             (a) 其中的subject信息部分,要与主机中创建的CA的subject保持一致;

             (b) Common Name要使用此主机在通信真实使用名字;

        (4)把请求发送给主机CA;

3、主机CA签发证书

                (1)验正请求者信息

                (2)签署证书

                    # openssl ca -in/etc/httpd/ssl/httpd.csr -out /etc/httpd/ssl/httpd.crt -days 3650

                (3)把签署好的证书发还给请求者

 

4、吊销证书:

           (1)获取吊销证书的序列号;

                #openssl x509 -in /etc/httpd/ssl/httpd.crt -noout -serial -subject

       

            (2)吊销证书

                   # openssl ca -revoke/etc/httpd/ssl/httpd.crt

            (3)生成吊销证书的编号

echo 01 > /etc/pki/CA/crlnumber

            (4)更新证书吊销列表

                #openssl crl -gencrl -out ca.crl

 


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

标签:技术   互联网   保密   数据加密   特征码   

原文地址:http://jf888888.blog.51cto.com/10085687/1637334

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!