马哥教育21期网络班—第11周课程+练习—-成长进行时–不退步–上

1、详细描述一次加密通讯的过程,结合图示最佳。

对称加密.jpeg

网络传输数据 .jpeg

对称加密:
加密和解密使用同一个密钥;				缺点:如何通信方多的话,需要保存多组密钥
公钥加密:密钥是成对儿出现
			公钥:公开给所有人;pubkey
			私钥:自己留存,必须保证其私密性;secret key
			特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然;
			数字签名:主要在于让接收方确认发送方身份;
			发送方生成数据--->自己私钥加密这段数据--->公钥解密
			aim--->拿着bob的公钥--->解密--->数据是bob发送的
			1、确定是bob发送的2、数据没有被篡改
			bob-->取数据特征码--->加密特征码--->解密特征码-->对比特征码
			密钥交换:发送方用对方的公钥加密一个对称密钥,并发送给对方;
			给的是PKI
			bob--->aim数据 
			需要拿的aim的公钥--->密钥交换实现
			利用aim公钥加密--->发给aim--->aim利用私钥解密
			bob-->拿到aim的公钥--->加密数据--->加密后数据--->aim--->利用自己私钥解密
			对称--->加密--->密钥

2、描述创建私有CA的过程,以及为客户端发来的证书请求进行办法证书。

使用Openssl搭建私有CA流程

常见文件后缀名的命名:    
    .key格式:私有的密钥    
    .crt格式:证书文件,certificate的缩写    
    .csr格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request的缩写    
    .crl格式:证书吊销列表,Certificate Revocation List的缩写    
    .pem格式:用于导出,导入证书时候的证书的格式,有证书开头,结尾的格式

openssl建立私有CA:

1、生成密钥    
2、自签署证书

节点:    
     1、生成密钥对儿    
     2、生成证书签署请求    
     3、把请求发送给CA
CA:    
     1、验正请求者信息;    
     2、签署证书;    
     3、把签好的证书发送给请求者;

一、建立CA服务器:

1、生成密钥    
    # (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)1 # (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)2 Generating RSA private key, 2048 bit long modulus3 ......+++4 .........................................+++5 e is 65537 (0x10001)2、自签证书  
    # openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3655
    req: 生成证书签署请求  
        -news: 新请求  
        -key /path/to/keyfile: 指定私钥文件  
        -out /path/to/somefile:  
        -x509: 生成自签署证书  
        -days n: 有效天数 1 # openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/ 
 2 CA/cacert.pem -days 3650 
 3 You are about to be asked to enter information that will be incorporated 
 4 into your certificate request. 5 What you are about to enter is what is called a Distinguished Name or a DN. 
 6 There are quite a few fields but you can leave some blank 
 7 For some fields there will be a default value, 
 8 If you enter '.', the field will be left blank. 
 9 ----- 10 Country Name (2 letter code) [XX]:cn                          #国家
 11 State or Province Name (full name) []:hn                      #省份
 12 Locality Name (eg, city) [Default City]:zz                    #市区
 13 Organization Name (eg, company) [Default Company Ltd]:luo     #组织名称
 14 Organizational Unit Name (eg, section) []:tech                #部门
 15 Common Name (eg, your name or your server's hostname) []:stu19.magedu.com        #服务器名称
 16 Email Address []:luo@magedu.com                                #邮件地址3、初始化工作环境  
    # touch /etc/pki/CA/{index.txt,serial}  
    # echo 01 > /etc/pki/CA/serial1 # touch /etc/pki/CA/{index.txt,serial}2 # echo 01 > /etc/pki/CA/serial

二、节点申请证书:

(一) 节点生成请求  
    1、生成密钥对儿  
    # (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)
本文中,CA和节点在同一台主机
1 mkdir /etc/httpd/ssl
2 cd /etc/httpd/ssl
3 # (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)
4 Generating RSA private key, 2048 bit long modulus
5 ...............+++
6 ......................................................+++
7 e is 65537 (0x10001)
    2、生成证书签署请求  
    # openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr
 1 # openssl req -new -key /etc/httpd/ssl/httpd.key -out /etc/httpd/ssl/httpd.csr 
 2 You are about to be asked to enter information that will be incorporated 
 3 into your certificate request. 
 4 What you are about to enter is what is called a Distinguished Name or a DN. 
 5 There are quite a few fields but you can leave some blank 
 6 For some fields there will be a default value, 
 7 If you enter '.', the field will be left blank. 
 8 ----- 
 9 Country Name (2 letter code) [XX]:cn
 10 State or Province Name (full name) []:hn
 11 Locality Name (eg, city) [Default City]:zz
 12 Organization Name (eg, company) [Default Company Ltd]:luo
 13 Organizational Unit Name (eg, section) []:tech
 14 Common Name (eg, your name or your server's hostname) []:test19.magedu.com
 15 Email Address []:
 16 
 17 Please enter the following 'extra' attributes
 18 to be sent with your certificate request
 19 A challenge password []:
 20 An optional company name []:
    3、把签署请求文件发送给CA服务  
    # scp  httpd.csr UserName@IP:/path

(二) CA签署证书

1、验正证书中的信息;  
    2、签署证书  
    # openssl ca -in /path/to/somefile.csr -out /path/to/somefile.crt -days N
 1 # openssl ca -in /etc/httpd/ssl/httpd.csr -out /etc/httpd/ssl/httpd.crt -days 300 
 2 Using configuration from /etc/pki/tls/openssl.cnf 3 Check that the request matches the signature 
 4 Signature ok 
 5 Certificate Details: 
 6         Serial Number: 1 (0x1) 
 7         Validity 
 8             Not Before: Aug  1 07:51:51 2014 GMT 
 9             Not After : May 28 07:51:51 2015 GMT
 10         Subject:
 11             countryName               = cn
 12             stateOrProvinceName       = hn
 13             organizationName          = luo
 14             organizationalUnitName    = tech
 15             commonName                = test19.magedu.com
 16         X509v3 extensions:
 17             X509v3 Basic Constraints: 
 18                 CA:FALSE
 19             Netscape Comment: 
 20                 OpenSSL Generated Certificate
 21             X509v3 Subject Key Identifier: 
 22                 CC:E6:26:6D:B1:EB:23:F6:7D:2E:47:82:3D:3D:C4:02:76:6C:31:DE
 23             X509v3 Authority Key Identifier: 
 24                 keyid:26:E7:D9:94:88:D4:2F:88:D2:AF:2C:C1:9A:B9:26:5E:D9:F1:E2:62
 25 
 26 Certificate is to be certified until May 28 07:51:51 2015 GMT (300 days)
 27 Sign the certificate? [y/n]:y
 28 
 29 
 30 1 out of 1 certificate requests certified, commit? [y/n]y
 31 Write out database with 1 new entries
 32 Data Base Updated
    3、发送给请求者;
1 [root@stu19 pki]# ls /etc/httpd/ssl/httpd.
2 httpd.crt  httpd.csr  httpd.key

原创文章,作者:N21_ Dominic,如若转载,请注明出处:http://www.178linux.com/47560

(0)
N21_ DominicN21_ Dominic
上一篇 2016-09-19
下一篇 2016-09-19

相关推荐

  • Linux文件系统上的权限

    Linux文件系统上的权限 首先我们来看一下如何修改文件的属主和属组 修改文件的属主:chown chown [OPTION]… [OWNER][:[GROUP]]FILE… 用法 OWNER修改属主 OWNER:GROUP修改属主:属组 :GROUP修改属组 命令中的冒号可以用.替换 -R:递归 chowen [OPTION]&#8…

    Linux干货 2016-08-04
  • bash编程初体验(二)

    bash编程初体验(二) read if case 概述 在本篇文章中,我们将介绍bash编程中有关if语句的简单用法,if语句的基本思路是判断给定的条件是否满足,即结果是真还是假,从而选择执行哪种操作。如此,如果条件为真,if会执行一种指令,如果条件为假,if会选择执行另一种指令,这种执行就是所谓的选择结构,它能够改变命令的基本顺序流结构,以选择流的形式运…

    Linux干货 2016-08-19
  • grep

    1. 文本处理工具的使用:   cat 连接文件并打印到标准输出设备,但是文件较大时,翻屏太快,与more或者less连用 命令反着输入(tac)将会反向输出文本文件 用法: cat 选项 参数   选项: -A 显示不可打印字符 -b 对行进行编号,空白行不编号 -s 压缩空白行 -n 对行进行编号,包括空白航  参数: &n…

    Linux干货 2016-08-08
  • N25第五周博客作业

    第五周博客作业   1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;   2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;   3、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行; &nbs…

    Linux干货 2016-12-28
  • Linux磁盘配额

    磁盘配额 什么是磁盘配额? 磁盘配额(Quota)是Linux系统中由于是多用户、多任务的环境,所以会有多用户共同使用一个硬盘空间的情况发生,如果其中少数几个用户大量占掉了磁盘空间的话,那肯定影响其他用户的使用权限。因此我们就需要对每个用户限制硬盘使用空间,来避免此种情况的发生,这就是磁盘配额。 Quota的一般用途: *针对WWW server,例如:每个…

    Linux干货 2016-09-01
  • DNS相关配置

    DNS基础概念: DNS全称为Domain Name System。它作为将域名和IP地址相互映射的得一个分布式数据库,能够使人更方便的访问互联网 DNS使用TCP和UDP得53号端口 BIND是DNS得实现方式之一 named是bind程序得运行的进程名 named进程的主要运行者是named用户,为了安全起见,它的程序也应该以named用户运行 配置正向…

    Linux干货 2017-05-30

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-19 17:56

    写的很好,画图可以更好的记住问题,值得表扬