一、介绍

1、为什么要加密

※ 不加密流量的易受攻击性
        ●  密码/数据嗅探
        ●  数据操作
        ●  验证操作
        ●  相当于邮寄明信片
※ 不安全的传统协议 --明文
        ●  telnet、FTP、POP3等等;不安全密码
        ●  http.smtp、NFS等等;不安全信息
        ●  Ldap、NIS,rsh等等;不案舍验证


2、安全机制

※ NIST(美国国家标准与技术研究院)定义的安全属性:
       ➢保密性:
          ●  数据保密性
          ●  隐私性
       ➢完整性:不可篡改
          ●  数据完整性
          ●  系统完整性
       ➢可用性
※ 安全攻击:STRIDE
        Spoofing (假冒(假冒一个主机))、Tampering (篡改,数据篡改)、Repudiation (否认(干了的事情不承认))、Inforration Disclosure (信息泄漏)、Denial of Service (拒绝服务(ping -f形式一样大量数据包,占用大量的带宽、cpu资源等))和Elevation of Privilege (提升权限(把普通用户的权限提升到管理员))

解释:什么是ping -f 
在数据包中发送“不要分段”标志。
在一般你所发送的数zhi据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
可以理解为 -f 极限检测,快速连续ping一台主机,ping的速度达到100次每秒;

3、安全

※ 安全机制:
       ➢加密(明文加密)、数字签名(如信用卡交易签名,计算机里说明是你操作的)、访问控制(acl 控制权限,限制哪些写用户的访问)、数据完整性(数据不要被篡改)、认证交换(互相双方认证)、流量填充(流量故意填充随机数,保证安全数据隐藏在里面)、路由控制(互联网通过为了安全稳定,进行多条链路冗余)、公证(结婚公证)
※ 心安全服务:
       ➢认证
       ➢访问控制
       ➢数据保密性
           ●  连接保密性      TCP/UDP
           ●  无连接保密性
           ●  选择域保密性    挑选域
           ●  流量保密性       有些企业的流量也很重要
       ➢数据完整性
       ➢不可否认性

4、设计基本原则

    ※ 使用成熟的安全系统
    ※ 以小人之心度输入数据
    ※ 外部系统是不安全的
    ※ 最小授权    企业内部授权,最小的权限
    ※ 减少外部接口
    ※ 缺省使用安全模式   selinux 默认启用
    ※ 安全不是似是而非   
    ※ 从STRIDE思考    STRIDE:身份假冒、篡改、抵赖、信息泄露、拒绝服务、特权提升
    ※ 在入口处检查
    ※ 从管理上保护好你的系统
    ※ 防水墙    企业内部设置,可以监控企业内部的IT行为 如是否插入U盘,拷贝文件

 

二、 安全和加密:

1、安全算法

    ※ 常用安全技术  
         ➢认证
         ➢授权
         ➢安全通信
         ➢审计
    ※ 密码算法和协议:
         ➢对称加密
         ➢公钥加密
         ➢单向加密
         ➢认证协议
    ※Linux系统: OpenSSL,gpg (pgp协议的实现)

2、对称加密: 

    ※ 加密和解密使用同一个密钥,如:
         ➢DES: Data Ercryption Standard,56bits    数据加密标准  
         ➢3DES:    3倍强度
         ➢AES: Advanced (128,192,256bits)       高级加密算法,加密长度可以选择
         ➢Blowfish,Twofish                                     商业
         ➢IDEA,RC6,CAST5                                 
    ※ 例子:A 发送数据data→使用key加密→加密的data→使用key解密→B接受数据data
                  其中key是相同的key称之为对称加密
    ※ 特性:
       1、加密、解密使用同一个密钥,效率高
       2、将原始数据分割成面定大不的块,逐个进行加密
    ※ 缺陷:
        1、密钥过多   A跟B用一把,A跟C有的换一把
        2、密钥分发   密钥怎么传给对方
        3、数据来源无法确认   B解密后的数据无法确认到底是不是A传过来的

3、非对称加密算法:

加密key 跟 解密key 不相等
    ※ 公钥加密:密钥是成对出现
         ➢公钥:公开给所有人; public key
         ➢私钥:自己留存,必须保证其私密性; secret key
    ※ 特点:用公钥加密数据,只能使用与之配对的私钥解密;反之亦然
    ※ 功能:
         ➢数字签名:主要在于让接收方确认发送方身份
         ➢对称密钥交换:发送方用对方的公钥加密一个对称密钥后发送给对方
         ➢数据加密:适合加密较小数据育
    ※ 缺点:密钥长,效率低
    ※ 算法:
         ➢RSA(加密,数字签名),DSA(数字签名),ELGamal

原理:通信的双方都各自有一对钥匙,也就是有4把钥匙
A :phblic(P(a)) private(S(a))     B:phblic (P(b))     private (S(b))
公钥就是可以随便给,私钥只能留给自己。私钥解对应的公钥,公钥解对应的私钥。私钥不能解私钥,公钥不能解公钥
需求:对称加密不知道是谁给你发送的数据,非对称加密如何实现
A的私钥加密,由于任何机器(B机器)有A的公钥,B机器拿A的公钥解密了,说明是A发送的数据,此过程为数字签名
缺点: 
DES :加密前1G,加密后2G,加密时间4m,解密8m
RSA: 加密前1G,加密后1G,加密时间1m,解密64hour
需求:数据安全,确认数据隐私,也就是来源
Pb {Sa(data)}   两次加密,确保了数据从A发送后,只能在B解密,确保了数据安全,而B能拿A公钥公钥解密,确保来源
缺点: 代价太大。时间效率

-rw-r-----. 1 root ssh_keys   1675 9月   8 10:28 ssh_host_rsa_key     私钥只有root跟特定的组,读取
-rw-r--r--. 1 root root        382 9月   8 10:28 ssh_host_rsa_key.pub    

4、单向散列: 也叫hash算法 

  ※ 将任意数据缩小成固定大小的“指纹”
         ➢任意长度输入
         ➢固定长度输出
         ➢若修改数据,指纹也会改变(“不会产生冲突”)
         ➢无法从指纹中重新生成数据(“单向”)
    ※ 必功能:数据完整性
    ※ 常见算式
         ➢md5: 128bits、 shal; 160bits、sha224
         ➢sha256、sha384、sha512
    ※ 常用工具www.magedu.com
         ➢md5sum | sha1sum [ --check ] file
         ➢openssl、9P9
         ➢rpm -V

常用于:web缓存常用
hash算法工具:md5、Linux(sha1sum 160bit )
理解:当我用hash算法给数据做过处理后,结果叫digset (摘要)
特性:1、任何的数据,不管多大,得出的摘要长度一致。 如md5加密后的数据,都是128bit 字符串,2、数据不同,摘要数值不同  3  hash算法不可逆,得到摘要,推不出原来是什么

[root@hdss7-11 ssh]# sha1sum /dev/sda
90635d6665a1641002e3ee1c42982cb326b720d9  /dev/sda

优化:Pb {Sa(data)}    代价太大。时间效率,配置hash
Pb {data +Sa(hash(data))}    得到的结果:实现只有B才能解密,得到 {data +hash(Sa(data))} ,确保了安全。
然后得到了数据data,通过用Pa 解密得到(hash(data),确保来源,并且B通过hash+data 跟(hash(data)确保数据没有坏
优化:对称+非对称+hash
key{data +Sa(hash (data))} +Pb(key)   得到的结果:实现数据可以传给任何人,在只有B拿到数据,才能解密Pb(key)得到 key ,才能实现对称加密的key{data +Sa(hash (data))} 解密。得到data +Sa(hash (data)),也就得到了数据data,通过用Pa 解密得到hash (data),确保来源,并且B通过hash+data 跟(hash(data)确保数据没有坏
hash算法工具介绍:
[root@hdss7-11 ssh]# sha
sha1sum    sha224sum  sha256sum  sha384sum  sha512sum  
[root@hdss7-11 ~]# vi f1
1111
[root@hdss7-11 ~]# sha512sum f1 
5d685b8ed7ea3abe9903d630c8448e5823cb80f923c9c56f60faa49a14e9159027a4af2f38d9556dfca82f5271098fe463bf9e31b30cf6c9eb6879f139e3db06  f1
[root@hdss7-11 ~]# sha512sum f1 >f1.sha512
[root@hdss7-11 ~]# vi f1
1111222
[root@hdss7-11 ~]# sha512sum --check f1.sha512 
f1: 失败
sha512sum: 警告:1 个校验和不匹配
[root@hdss7-11 ~]# sha512sum host.com.zone >> f1.sha512 
[root@hdss7-11 ~]# sha512sum od.com.zone >> f1.sha512 
[root@hdss7-11 ~]# sha512sum --check f1.sha512 
f1: 失败
host.com.zone: 确定
od.com.zone: 确定
sha512sum: 警告:1 个校验和不匹配

检查某个包里面的文件是否发生变化,在rpm 安装后,系统自动把这种文件的各种属性,权限等 hash,存储数据库中,rpm -V 会查到

5、密钥交换: IKE ( Internet Key Exchange )

主要解决对称加密key如何实现传递,对称秘钥进场更换
    ※密钥交换
         ➢公钥加密:
            DH (Deffie-Hellman):生成会话密钥,参看:https://en. wikipedia. org/wiki/Diffie%E2%80%93HelIman_ key_ exchange
    ※DH:
         ➢1、A: a,p协商生成公开的整数a,大素数p
                   B: a,p
         ➢2、A:生成隐私数据: x(x<p),计算得出a^x%p,发送给B
                  B:生成隐私数据:y 计算得出a ^y%p,发送给A
         ➢3、A:计算得出[(a^ y%p)^x] %p = a^ xy%p,生成为密钥
                  B:计算得出[(a^ x%p)^y] %p = a ^xy%p,生成为密钥

  原理:A机器随机生成a(整数),p(素数:只能被自己或者1 整除)。发送给B机器,然后
        A:随机生成一个隐私数据x,计算 a^x%p,发送给B
        B:随机生成一个隐私数据y,计算得出a ^y%p,发送给A
        A:计算得出[(a^ y%p)^x] %p = a^ xy%p,生成为密钥
        B:计算得出[(a^ x%p)^y] %p = a ^xy%p,生成为密钥
           发现数值相同
  a=2, p=11 ,x=3      A:a^x%p =8
  a=2, p=11 ,y=4     B:a ^y%p=5
  A:  5   [(a^ y%p)^x] %p = a^ xy%p
  B:  8   [(a^ x%p)^y] %p = a ^xy%p

5.1对称工具:

[root@hdss7-11 ~]# gpg -c f1   对文件加密
[root@hdss7-11 ~]# ll
-rw-r--r--  1 root root   13 9月  25 19:08 f1
-rw-r--r--  1 root root   54 9月  25 19:36 f1.gpg
[root@hdss7-11 ~]# cat f1.gpg 
°񻇪v؉%{ +I²¢󤮼G
             Ϗ¥邨oˑQH8¶(M

[root@hdss7-11 ~]# gpg -o f11 -d f1.gpg   解密
[root@hdss7-11 ~]# ll
-rw-r--r--  1 root root   13 9月  25 19:37 f11
-rw-r--r--  1 root root   54 9月  25 19:36 f1.gpg

5.2使用gpg工具实现公钥加密:

    ※在hostB主机上用公钥加密,在hostA主机.上解密
    ※在hostA主机上生成公钥/私钥对
         ➢gpg --gen-key
    ※在hostA主机上查看公钥
         ➢gpg --list-keys
    ※在hostA主机上导出公钥wang. pubkey
         ➢gpg -a --export -0 wang. pubkey       a不可读
    ※从hostA主机上复制公钥文件到需加密的B主机上
         ➢scp wang.pubkey~ hostB;
[root@hdss7-11 .gnupg]# gpg --gen-key
gpg (GnuPG) 2.0.22; Copyright (C) 2013 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

gpg: 已创建目录‘/root/.gnupg’
gpg: 新的配置文件‘/root/.gnupg/gpg.conf’已建立
gpg: 警告:在‘/root/.gnupg/gpg.conf’里的选项于此次运行期间未被使用
gpg: 钥匙环‘/root/.gnupg/secring.gpg’已建立
gpg: 钥匙环‘/root/.gnupg/pubring.gpg’已建立
请选择您要使用的密钥种类:
   (1) RSA and RSA (default)
   (2) DSA and Elgamal
   (3) DSA (仅用于签名)
   (4) RSA (仅用于签名)
您的选择? 1
RSA 密钥长度应在 1024 位与 4096 位之间。
您想要用多大的密钥尺寸?(2048)1024
您所要求的密钥尺寸是 1024 位
请设定这把密钥的有效期限。
         0 = 密钥永不过期
      <n>  = 密钥在 n 天后过期
      <n>w = 密钥在 n 周后过期
      <n>m = 密钥在 n 月后过期
      <n>y = 密钥在 n 年后过期
密钥的有效期限是?(0) 0
密钥永远不会过期
以上正确吗?(y/n)y

You need a user ID to identify your key; the software constructs the user ID
from the Real Name, Comment and Email Address in this form:
    "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"

真实姓名:Jerr
姓名至少要有五个字符长
真实姓名:jerry
电子邮件地址:
注释:
您选定了这个用户标识:
    “jerry”

更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)?O
您需要一个密码来保护您的私钥。

我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。

[root@hdss7-11 .gnupg]# cd /root/.gnupg/
[root@hdss7-11 .gnupg]# ll
-rw------- 1 root root 7680 9月  25 20:07 gpg.conf
drwx------ 2 root root    6 9月  25 20:09 private-keys-v1.d
-rw------- 1 root root  661 9月  25 20:23 pubring.gpg    公钥
-rw------- 1 root root  661 9月  25 20:23 pubring.gpg~
-rw------- 1 root root  600 9月  25 20:23 random_seed
-rw------- 1 root root 1325 9月  25 20:23 secring.gpg    私钥
srwxr-xr-x 1 root root    0 9月  25 20:23 S.gpg-agent
-rw------- 1 root root 1280 9月  25 20:23 trustdb.gpg
 

[root@hdss7-11 .gnupg]# gpg --list-keys
/root/.gnupg/pubring.gpg
------------------------
pub   1024R/2C31F4D2 2020-09-25 [有效至:2020-09-28]
uid                  jerry
sub   1024R/A1B32077 2020-09-25 [有效至:2020-09-28]

[root@hdss7-11 .gnupg]# gpg -a --export -o wang.pubkey
[root@hdss7-11 .gnupg]# ll
-rw------- 1 root root 7680 9月  25 20:07 gpg.conf
drwx------ 2 root root    6 9月  25 20:09 private-keys-v1.d
-rw------- 1 root root  661 9月  25 20:23 pubring.gpg
-rw------- 1 root root  661 9月  25 20:23 pubring.gpg~
-rw------- 1 root root  600 9月  25 20:23 random_seed
-rw------- 1 root root 1325 9月  25 20:23 secring.gpg
srwxr-xr-x 1 root root    0 9月  25 20:23 S.gpg-agent
-rw------- 1 root root 1280 9月  25 20:23 trustdb.gpg
-rw-r--r-- 1 root root 1000 9月  25 20:27 wang.pubkey
[root@hdss7-11 .gnupg]# cat wang.pubkey 
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.22 (GNU/Linux)

mI0EX23hJwEEAOzxCR2keHy3Rgofi5TD6CgMX5hzdQJbA0CBtSq0R57gSzga6g3C
qenbJW/nAUJID78sV+L5jUieyZsfzkavIm8xV1xWk0bM9Trb2SNkDI9x90gDKkIx
pGTDFeK6ZQYRCU12FG5rIv4Lvt1rlqQMbPvNbkbi7lAQQPxUMck1r5gDABEBAAG0
BWplcnJ5iL8EEwECACkFAl9t4ScCGwMFCQAD9IAHCwkIBwMCAQYVCAIJCgsEFgID
AQIeAQIXgAAKCRBIJyyuLDH00tkjBADFPB7T3iCrqpjlNwh6TnulF8bYTYRHCOIF
QumGjc0jMAu7O3/x7nyBNsw4hYo/lonyCIijTZfa5o9KdGNxHd4fCaSwDGxvVLOS
J2Qc9m7Rqp/LbltxP7PgntYtrjJ9H36NKhyxUzU7P2iaMoyVgcA6CZVB/H6igpqe
j9LtqTPOnriNBF9t4ScBBADsf+fASDLF6EdktTHhZ5jPgrMpI53egGMOv/PshLmY
E6jxyHkaRobZTo386B6s3CZ3peUDH7z7BG1A28Xe/rt/SDgX9SXhkbtwqR9blhMg
yhnJQoVQiW3QhcUchZqtukt3GVXp58ihc6KT9c/8Y+oxPxyzhyce7BreJvalxIXf
4QARAQABiKUEGAECAA8FAl9t4ScCGwwFCQAD9IAACgkQSCcsriwx9NLiwwP/enZk
s4m5jhucoqbL7y8CJkm7Wy7XzDOSYmW4SpyiF6mVE3YT+umoccyXNlIFnkVsump+
9+xzTtUmHbppjbByZWdAmHfCNxh1AY/Ay5NmhGU4h1I2nb3TmWylLqUPovWiApfq
TKM2dAN0zUkFPBxS2Msa/KXRY0QeGhui96hw2wE=
=XFuK
-----END PGP PUBLIC KEY BLOCK-----

5.3使用gpg工具实现公钥加密:

※在需加密数据的hostB主机上生成公钥/私钥对
         ➢gpg --list-keys
         ➢gpg --gen-key
    ※在hostB主机上导入公钥
         ➢gpg --import wang. pubkey
         ➢gpg --list-keys
    ※用从hostA主机导入的公钥,加密hostB主机的文件file,生成file.gpg
         ➢gpg -e -r wang file
            file file.gpg

在B机器:
导入这个公钥 gpg --import wang. pubkey
用从hostA主机导入的公钥wang.pub,加密hostB主机的文件file,生成file.gpg
gpg -e -r wang file

5.4使用gpg工具实现公钥加密:

    ※复制加密文件到hostA主机
         ➢scp fstab .gpg hostA:
    ※在hostA主机解密文件
         ➢gpg -d file.gpg
         ➢gpg -ofile -d file.gpg
    ※删除公钥和私钥
         ➢gpg --delete-keys wangxiaochun
         ➢gpg --delete-secret-keys wangxiaochun
删除gpg --list-keys公钥钥匙:gpg --list-keys: gpg --delete-keys laowang
删除私钥:gpg --delete-secret-keys 文件

 

三、CA和证书:

1、CA和证书介绍:

    ※ PKI: Public Key Infrastructure    
         ➢签证机构: CA (Certificate Authority)
         ➢注册机构: RA
         ➢证书吊销列表: CRL
         ➢证书存取库:
    ※ X.509:定义了证书的结构以及认证协议标准
         ➢版本号          主体公钥
         ➢序列号          CRL分发点
         ➢签名算法      扩展信息
         ➢颁发者          发行者签名
         ➢有效期限.
         ➢主体名称

问题:用对称跟非对称的加密的机密方式:key{data +Sa(hash (data))} +Pb(key),可以实现安全认证加密,但是秘钥传输没有保障,如下,黑客C模拟B告诉A,我的Pc.pub就是Pb.pub,这时候,A(data)通过Pc.pub加密后,B接受后解密不了,但是C可以

如何确保A跟B公钥互换是否是正确的:制作身份证,CA(证书颁发机构)

A向CA申请证书,提交A的信息+A的公钥。CA也有自己公钥跟私有,CA拿到后检查确认此信息不是伪造的,CA就会拿自己的私钥给A的公钥加密(签名)(加密后,里面会带有CA自己的信息,确认那个CA颁发,还有加密算法,有效期,A 的描述信息,版本)这就是证书,这个证书不可伪造,芯片检查等,然后这个证书会返回给A,A拿到证书后,把证书穿给给B,B拿到证书后,由于B信任CA,也就是B拿到了CA公钥,进而获取Pa.pub 。对应的反向A获取B的pub。这一过程由CA来保证各自发给我的公钥是真实可靠的。

问题:A 如何拿到Pca 公钥,B如何拿到Pca 公钥

两种情况:1、A跟B装系统,天生系统就自带公钥,win跟ca有合作。而且A跟B都有相同CA的公钥

                  2、如果没有相同CA的公钥,比如A的是上海颁发CA,B是杭州的CA。假如两个地市平级,这个时候,A对应的子CA就会去请求ROOT根(ca),这个时候,根CA去签(子CA公钥+Rca+有效期)  。对应的反向B获取根(ca)。并且win内置跟多的根证书

2、创建CA和证书管理

    ※ 查看证书中的信息:
         ➢openssI x509 -in /PATH/FROM/CERT_ FILE -noout
            -text | issuer | subject | serial | dates
            openssl ca -status SERIAL查看指定编号的证 书状态
    ※ 吊销证书
         ➢A  在客户端获取要吊销的证书的serial
            openssI x509 -in /PATH/FROM/CERT_ FILE -noout
            -serial -subject 
         ➢B  在CA上,根据客户提交的serial与subject信息, 对比检验是否与index. txt文件中的信息一致,吊销证书:
            openssI ca -revoke /etc/pki/CA/newcerts/SERIAL. pem

查看证书中的信息:

1、

2、

 

3、

4、

[root@hdss7-22 ~]# openssl x509 -in baidu.cer -noout -text

Certificate:Data:Version: 3 (0x2)Serial Number:72:58:78:36:6e:9f:56:e8:1d:41:88:48  (证书编号)Signature Algorithm: sha256WithRSAEncryption (算法)Issuer: C=BE, O(发布者)=GlobalSign nv-sa, CN=GlobalSign Organization Validation CA - SHA256 - G2ValidityNot Before: Apr  2 07:04:58 2020 GMTNot After : Jul 26 05:31:02 2021 GMTSubject(颁发给谁): C=CN, ST=beijing, L=beijing, OU=service operation department, O=Beijing Baidu Netcom Science Technology Co., Ltd, CN=baidu.comSubject Public Key Info:Public Key Algorithm: rsaEncryption

问题:没有有效票的根证书,证书是自己搭建的。导出证书在导入

 

泛域名证书:如*jd.com 

3、证书获取

    ※ 证书类型:
         ➢证书授权机构的证书
         ➢服务器
         ➢用户证书
    ※ 获取证书两种方法: 
         ➢使用证书授权机构
               ● 生成签名请求(csr)
               ● 将csr发送给CAs
               ● 从CA处接收签名
         ➢自签名的证书   一台机器
               ●自已签发自己的公钥

自己搭建证书:本机生成一个证书申请csr ,然后传递给ca, 考到ca 机器上,ca就会对其私钥签名,然后在拷回去

4、安全协议

    ※ SSL: Secure Socket Layer
         ➢TLS: Transport Layer Security
               ● 1995: SSL 2.0 Netscape
               ● 1996: SSL 3.0 
               ● 1999: TLS 1.0 
               ● 2006: TLS 1.1 IETF(Internet工程任务组) RFC 4346
               ● 2008: TLS 1.2当前使用      目前的使用不是ssl。而是tls.
               ● 2015: TLS 1.3 
         ➢功能:机密性,认证,完整性,重放保护(重放:一个数据包理论发一次生命期就结束了。如果黑客讲发送名户名密码信息截获,冒充这台机器,原封不动再次发一下,服务器校验后正确,又可以登录):解决:时间戳
    ※ 两阶段协议,分为握手阶段和应用阶度
         ➢握手阶段(协商阶段):客户端和服务器端认证对方身份(依赖于PKI体系,利用数字证书进行身份认证),并协商通信中使用的安全参数、密码套件以及主密钥。后续通信使用的所有密钥都是通过MasterSecret生成。
         ➢应用阶段:在握手阶段完成后进入,在应用阶段通信双方使用握手阶段协商好的密钥进行安全通信
 应用层数据为数据加报头→tls数据加密→传输层封装tcp /udp报头→封装ip报头→封装以太层针头


SSL/TLS  

    ※ Handshake协议:包括协商安全参数和密码套件、服务器身份认证(客户端身份认证可选)、密钥交换
    ※ ChangeCipherSpec协议:一条 消息表明握手协议已经完成
    ※ 必Alert协议:对握手协议中- -些异常的错误提醒,分为fatal(断开网络)和warning(报警继续连接)两个级别,fatal类型              错误会直接中断SSL链接,而warning级别的错误SSL链接仍可继续,只是会给出错误警告
    ※ Record协议:包括对消息的分段、压缩、消息认证和完整性保护、加密等
    ※ HTTPS协议:就是“HTTP协议”和“SSL/TLS协议”的组合。HTTP over SSL"或“HTTP over TLS",对http协议的文本数据进行加          密处理后,成为二进制形式传输

HTTP协议”和“SSL/TLS协议”的组合:
应用层数据为数据加报头→tls数据加密→传输层封装tcp /udp报头→封装ip报头→封装以太层针头
Ethernet(ip(tcp(tls(http(data)))))    
通讯图:

\

加密过的应用程序数据,传输层上面封装一个ssl层,应用层数据被封装在里面

http 未加密协议,明文

5、OpenSSL

    ※ OpenSSL:开源项目
         ➢三个组件:
               ● openssl:多用途的命令行工具,包openssI
               ● libcrypto:加密算法库,包openssl-libs
               ● libssl:加密模块应用库,实现了ssI及tls,包nss ;
    ※ openssI命令: .
         ➢两种运行模式:交互模式和批处理模式
         ➢openssl version:程序版本号
         ➢标准命令、消息摘要命令、加密命令
         ➢标准命令:
               ● enc, Ca, req, ...

openssI:工具

[root@localhost ~]# rpm -qi openssl
Name        : openssl
Epoch       : 1
Version     : 1.0.2k
Release     : 16.el7
Summary     : Utilities from the general purpose cryptography library with TLS implementation
Description :
The OpenSSL toolkit provides support for secure communications between
machines. OpenSSL includes a certificate management tool and shared
libraries which provide various cryptographic algorithms and
protocols.
OpenSSL工具包支持机器。OpenSSL包括一个证书管理工具和共享的提供各种密码算法和协议
[root@localhost ~]# rpm -ql openssl
/usr/bin/openssl

libcrypto:加密算法库,包openssI- libs:
提供的加密算法,来自openssl-libs
[root@localhost ~]# rpm -ql openssl-libs
/etc/pki/tls
/etc/pki/tls/certs
/etc/pki/tls/private
/usr/lib64/.libcrypto.so.1.0.2k.hmac

libssl:加密模块应用库,实现了ssI及tls,包nss ;

怎么实现加密算法的应用库、模块

5.1、openssl使用:

交互式:
[root@localhost ~]# openssl \

非交互式:
[root@hdss7-22 ~]# openssl x509 -in baidu.cer -noout -text

帮助:
[root@localhost ~]# openssl ?

openssl:Error: '?' 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)  hash
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            rc5               rc5-cbc           rc5-cfb           
rc5-ecb           rc5-ofb           seed              seed-cbc          
seed-cfb          seed-ecb          seed-ofb          zlib              [root@localhost ~]# 

[root@localhost ~]# man openssl 
[root@localhost ~]# man dgst
[root@localhost ~]# man enc
 

5.2、openssl命令

    ※ 对称加密:
         ➢工具: openssI enc, gpg
         ➢算法: 3des, aes, blowfish, twofish
    ※ enc命令:
         ➢帮助:man enc
         ➢加密:
             openssI enc -e -des3 -a -salt -in testfile  -out testfiler.ciipher
             enc代表加密方式,-e代表加密    -a 不可读    -salt  自动插入一个随机数作为文件内容加密,默认选项 
         ➢解密:
            openssl enc -d -des3 -a -salt -in testfile.cipher -out testfile
            openssl ?
加密:   openssl enc -e -des3 -a -salt -in a.txt -out a.enc

[root@localhost ~]# cat a.txt 
4ec2ebd38264
[root@localhost ~]# openssl enc -e -des3 -a -salt -in a.txt -out a.enc
enter des-ede3-cbc encryption password:            加密的输入口令
Verifying - enter des-ede3-cbc encryption password:
[root@localhost ~]# cat a.enc 
U2FsdGVkX19bV05HPME09dc51Pzs+5VPuXYpm+ba+22ICtaBi3Kd10MBXMAGrNHE
DLHl/QTC70BjvzAD/Ec3fMhd4PxW4UqhE6G9RV3dSuRxPn3dWejGJy2QNcvRdoq0
0+4WHxWBelBZkqUXRlVaYqm7/DfChE09e78oF1ocFIKfOA4ZTVA2zg==
[root@localhost ~]# ll
-rw-r--r--  1 root root      187 9月  29 20:29 a.enc
-rw-r--r--  1 root root      114 8月  23 20:06 a.txt
解密:openssl enc -d -des3 -a -salt -in a.enc -out a.txt1

[root@localhost ~]# openssl enc -d -des3 -a -salt -in a.enc -out a.txt1
enter des-ede3-cbc decryption password:          输入口令
[root@localhost ~]# ll
-rw-r--r--  1 root root      187 9月  29 20:29 a.enc
-rw-r--r--  1 root root      114 8月  23 20:06 a.txt
-rw-r--r--  1 root root      114 9月  29 20:33 a.txt1
[root@localhost ~]# cat a.txt1 
4ec2ebd38264

5.2、openssl命令

    ※ 单向加密:
         ➢工具: md5sum, sha1 sum, sha224sum, sha256sum...   openssI dgst
    ※ dgst命令:
         ➢帮助: man dgst
         ➢openssI dgst -md5 [-hex默认] /PATH/SOMEFILE
         ➢openssI dgst -md5 testfile
         ➢md5sum /PATH/TGHSOMEFILE
    ※ MAC: Message. Authenttication Code, 单向加密的一种延伸应用,用于实现网络通信中保证所传输数据的完整性机制
         ➢CBC-MAC
         ➢HMAC 使用md5或sha1算法

单向、dgst加密:

[root@localhost ~]# man dgst
dgst, sha, sha1, mdc2, ripemd160, sha224, sha256, sha384, sha512, md2, md4, md5, dss1 - 
[root@localhost ~]# openssl dgst -md5 b.txt 
MD5(b.txt)= 311a9f57b81679a421ab972c562d5d50
[root@localhost ~]# md5sum b.txt 
311a9f57b81679a421ab972c562d5d50  b.txt

5.2、openssl命令

    ※ 生成用户密码:
         ➢passwd命令:
         ➢帮助: man sslpasswd
         ➢openssI passwd -1 -salt SALT(最多8位)  -1 就是md5
         ➢openssl passwd -1 -salt centos
    ※ 生成随机数:
         ➢帮助: man sslrand
         ➢openssl rand -base64| -hex NUM
         ➢NUM:表示字节数; -hex时, 每个字符为十六进制,相
当于4位二进制,出现的字符数为NUM*2

生成用户密码::

[root@localhost ~]# openssl passwd -1 
Password: 
Verifying - Password: 
$1$r9/JP8Mj$Yt3yPCgUxvrRnG3SLctUO1
[root@localhost ~]# openssl passwd -1 
Password: 
Verifying - Password: 
$1$UXZ4weIz$4SG/tYr8RZVtB8UtE5o/m1
[root@localhost ~]# openssl passwd -1 -salt UXZ4weIz
Password: 
$1$UXZ4weIz$4SG/tYr8RZVtB8UtE5o/m1

生成随机数:

[root@ ~]# openssl rand -base64 10
sFO4Eoi6raNu1A==
[root@ ~]# openssl rand -base64 10
vtMMqaksdnEdag==
[root@ ~]# openssl rand -base64 10
9PmEbaa5UOLlkw==
[root@ ~]# openssl rand -hex 2    一个16进制占4位,2个就是8位,一个8位就是一个字节  2是字节  (2个16进制等于一个字节)
1e41
[root@~]# openssl rand -hex 3
228f49

5.2、openssl命令    重要

    ※ 生成密钥对儿: man genrsa
    ※ 生成私钥
          ➢openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS
              (umask 077; openssI genrsa -out test.key -des 2048)
          genrsa :gen 代表生成,rsa算发    -out:指定私钥文件   -des 算法    位数
    ※ 从私钥中提取出公钥
          ➢openssl rsa -in PRIVATEKEYFILE -pubout -out PUBLICKEYFILE
             OpenssI rsa -in test .key -pubout -out test .key. pub
    ※ 随机数生成器:伪随机数字.
          ➢键盘和鼠标
          ➢块设备中断
          ➢/dev/random:仅从熵池返回随机数;随机数用尽,阻塞
          ➢/dev/urandom:从熵池返回随机数;随机数用尽,会利
     用软件生成伪随机数,非阻塞

※ 生成私钥:

[root@localhost ceshi]# openssl genrsa -out wang.key    私钥未加密(未用算法,默认是1024位)
Generating RSA private key, 1024 bit long modulus
..........+++
......................................+++
e is 65537 (0x10001)
[root@localhost ceshi]# ll
-rw-r--r-- 1 root root 1675 9月  29 21:08 wang.key    权限是都可以读
[root@localhost ceshi]# cat wang.key 
-----BEGIN RSA PRIVATE KEY-----
QIZEwY0dwuX+s7MsuTBaoFO32NJcznQ2I6saCuQ1TCcHpDSsHr9mcwaa6QycNH57
5Ajecb/cGCPzTJZi/4Me+vgLpAxRzp3DjB8dKqL7ya11jCB/4mV5u7tg54Di/IMl
-----END RSA PRIVATE KEY-----

[root@localhost ceshi]# openssl genrsa -out wang2.key -des 2048    私钥des加密,指定2048位数
Generating RSA private key, 2048 bit long modulus
.............................................................+++
.+++
Enter pass phrase for wang2.key:  数据密码口令
Verifying - Enter pass phrase for wang2.key:
[root@localhost ceshi]# cat wang2.key 
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED     加密 ,说明想要将用必须要口令
DEK-Info: DES-CBC,6E69E270B484AAA2

cujMj5sbQNd1vs1TaFmYGeuYZmyQwaeXuLAdEb20Di2cy/Gb0iwkpTogmagpPM50
UDDIuPbiEXxa5b45sigd570olTE3e3evIXhC0lqewnlhNzumQEaklWOq1fe+bszC
122RJ7Im1TOf5Z6FcZ3zwO0mZaoRseTrstPwLhXppBlvbG1rHz+w84yxmr6K/PBm
-----END RSA PRIVATE KEY-----

[root@localhost ceshi]# ll
-rw-r--r-- 1 root root 1738 9月  29 21:09 wang2.key        权限是都可以读
-rw-r--r-- 1 root root 1675 9月  29 21:08 wang.key

实现只能root读,数据密码口令指定2048位数
[root@localhost ceshi]# (umask 066;openssl genrsa -out wang4.key -des 2048)
Generating RSA private key, 2048 bit long modulus
........................+++
..................................+++
e is 65537 (0x10001)
Enter pass phrase for wang4.key:
Verifying - Enter pass phrase for wang4.key:
140231341225872:error:0906906F:PEM routines:PEM_ASN1_write_bio:read key:pem_lib.c:385:

[root@hdss7-11 ~]# cat wang4.key 
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-CBC,33B0CDADB91DBFFA

Q09iUg8FoRRQ4lTES9KXOLqBtxTT2//n7jPUyYrsbFjwN+cLXRS87+8TRghEu5iw
iOyL7y6xq4Df8x7JJkaPPDvom3HgAl1ae9a+LA7xvG7+IF1+5vmdza+WOJAVEuP8
+GGgJZlnFhyknAMnvYNN3xKygytI3EHCa29dBNuskPEwx3mDumsl0Pnx+vgCTzew
+C2pSXz1lKVgpMsZJDBHTmQS2NFrbm6v69YCuJe/WoQ1DI9+tA9O7lUXbM+8TikF
IK+Z9cdIyVeJW4RtNmnXRwHuBr/CH8KZfUIWAEneFPjNrfMzTHPJYO1tj/otlfvi
m/ls5aAyxPUhfcoa9P/Vp4PJEqzI86eJlWUwQWjDtAzRwZL93+IjafxxH6hJUUUS
hLHN4k0f0v2LdAzcT1UqtHYoQxvs3hNL8e2r5c34D7NDh1A61KzT/PcWIPMiU/0O
c/4iccIGRBb39TyXDXgedFAb55pRFQf6g9XBX44Nma2H7ekc+hBUudAqNwCKvcOI
sS+S9IFw1QH4/eP8gz7S998yHfThUlGaP052qrFyi/78seUJP8yNp+6hgr/257d3
dh2id6Yrw45kyoDdTstp2FV66/7+kpOh5RtenTGM7Wg+CwLMiUgmw/rzPeuc77gM
b++D8DCqOfqC1y1GlB9zMktoErs2pKz/6UnRrtwDARI6a/VmaycPHAPGoPpHQE8u
Qv1SJX7wJetJW+4D8F3XuiyvElSbneY6MPzTqoMdk0/Luv+U2dt6qg6OfCZ8DxHu
FlKEm4fx5PLxVDyUz+YutWejNdXg+Qww3c1/7Y0J1sBQzqXkW0R9oDwuNE/3R35j
o7zbv+Fh+IWOGaX+ulbl8tmkgaTdY6XdmKJ5adaRLzJaALPzFjcK108Kc4vQ7ExP
DtwZtcj85OjU6r2f7lR30qSInRwXBegmgYvMw9gEfvIMB/auXl3xyWf4t5pdiWxD
Gi4moad4A2yvosV5SUPtdE4BrQJByAkIGZWHPl3tUl4Qr3+IlMLKx7b5rgyCId/2
6TymEjgZvzqS+TV99Pygm6ElZTFEHv+WwWw7/tYXpNZBoi+QO3eZB32y/5y+5IAY
7N2n8m+VWh/SONTY0FLnFiuznX+I4V3TTTTAkrTfO7QI6HdRJRYxVoc/Q2rAreTM
dzD0u2QXNF/BTVyVYp/li1scYzlmDmlzq13r1cvmXCf882eFpud4A4oLAudx1EFx
vO4Ojzwe0YEx0bx77ukEqrhN/7h+BiwDrAPK1wtMJ6VUIY/ZNDcer8QtDNBAR0uQ
jwkssdAGbuRvrZrGzA99RAy04O6sYeRimksQq2tC1ChmGUatOpEd1YpaOEmgE5KS
bcW7sckJN7sr5iB6B+HjQukNQYSSJcgXwIHckNnVsnft3dYRMkAIn7ZQ3lo7bfFN
4o5SHixgOm5PtKyGACJc5qWXnkXm+oxJFwEi14NhhB3XuOhKtcNis89xq188Ocgi
AwrQIyszqDqGQHhVKVCdveM1qst5J9x8W7Xn+02yAU51rcGRcKazMdqQttZaAvUR
mRVzM1mFvIna3ur707MzAo+etmQm+vIAbkfdcgbEH/ootLDGugSqHg==
-----END RSA PRIVATE KEY-----

解释:umask命令用得相对不多, 而umask函数则用得相对较多。 umask命令, 它主要用来设置权限屏蔽, 说白了, 就是间接地设置权限。他说是一个全局设置,在当前shell生效

打开一个linux shell终端:
[root@localhost ~]# umask
0022
[root@localhost ~]# touch umask.txt
[root@localhost ~]# mkdir umask
[root@localhost ~]# ll
drwxr-xr-x  2 root root        6 10月  8 09:01 umask
-rw-r--r--  1 root root        0 10月  8 09:00 umask.txt

在系统中, 输入umask提示此系统umask的默认值是022。 022是个什么意思呢? 意思是说, 
1、如果创建文件, 那么它的默认权限是644 ( 由于是文件,正常情况下只有 r 跟w ,没有x权限,所以默认最高权限rw- 42- 也就是6。umask=022 所以,6-0 6-2 6-2 ,644)
2、 如果是创建目录, 那么它的权限是755 ( 由于是目录,有 r 跟w 跟x权限,所以默认最高权限777。umask=022 所以,7-0 7-2 7-2 ,755)
3、修改umask=002
[root@localhost ~]# umask 002
[root@localhost ~]# touch umask002.txt
[root@localhost ~]# mkdir umask002
[root@localhost ~]# ll
drwxrwxr-x  2 root root        6 10月  8 09:15 umask002
-rw-rw-r--  1 root root        0 10月  8 09:15 umask002.txt
由此可见, umask就是为控制默认权限而生的。
4、再打开另一个终端, 进行操作, 结果为:
[root@localhost ~]# umask 
022 
在另外一个shell终端中, umask的值仍然是022,   可见, 一个shell进程中的umask值仅在当前shell进程中才有效。

umask函数, 它常用来控制进程创建文件/目录的默认权限, 代码如下:

#include <stdio.h>int main()
{system("touch test0.txt");system("mkdir folder0");umask(022);system("touch test1.txt");system("mkdir folder1");umask(066);system("touch test2.txt");system("mkdir folder2");system("ls -l");return 0;
}

结果为:
[jerry@localhost root]$ umask 000 
[jerry@localhost root]$ gcc test.c  
[jerry@localhost root]$./a.out  
-rwxrwxrwx 1 jerry jerry4925 May  5 07:43 a.out 
drwxrwxrwx 2 jerry jerry4096 May  5 07:43 folder0 
drwxr-xr-x 2 jerry jerry4096 May  5 07:43 folder1 
drwx--x--x 2 jerry jerry 4096 May  5 07:43 folder2 
-rw-rw-rw- 1 jerry jerry 0 May  5 07:43 test0.txt 
-rw-r--r-- 1 jerry jerry 0 May  5 07:43 test1.txt 
-rw------- 1 jerry jerry 0 May  5 07:43 test2.txt 
-rwxrw-rw- 1 jerry jerry 279 May  5 07:42 test.c 
[jerry@localhost root]$umask 
0000 

shell是父进程, ./a.out进程是子进程.  下面来分析一下:
     1. 根据test0.txt可知, 父进程可以影响子进程的默认屏蔽字。
     2. 根据test1.txt可知, 子进程可以改变自己的默认屏蔽字。
     3. 根据最后shell进程的屏蔽字为000可知, 子进程不会改变父进程的屏蔽字。 
实际上, umask命令与函数的用法是一致的。 

※ 从私钥中提取出公钥:
[root@hdss7-11 ~]# openssl rsa -in wang4.key -pubout -out wang4.pubkey
Enter pass phrase for wang4.key:    
writing RSA key
[root@hdss7-11 ~]# ll
-rw-------  1 root root 1738 10月  9 09:28 wang4.key
-rw-r--r--  1 root root  451 10月  9 09:34 wang4.pubkey

在上面的基础,通话双方需要CA才能公证。正常:生成私钥 →私钥申请CA  → 证书颁发带公钥

※ 随机数生成器: 随机数字.
➢/dev/random:仅从熵池返回随机数;随机数用尽,阻塞。
意思是:调取的块设备,磁盘中断等,也就是鼠标移动等位置操作会计算出来放进/dev/random熵池,然后做成随机数,一但随机数用光了,等鼠标键盘移动录入熵池
➢/dev/urandom:从熵池返回随机数;随机数用尽,会利用软件生成伪随机数,非阻塞

生成随机数:取十个随机数
[root@hdss7-11 ~]#cat /dev/urandom |tr -dc '0-9a-zA-Z' |head -c 10
BIN0rVL0Q9[root@hdss7-11 ~]# cat /dev/urandom |tr -dc '0-9a-zA-Z' |head -c 10
Pejo2jIGAr[root@hdss7-11 ~]# cat /dev/urandom |tr -dc '0-9a-zA-Z' |head -c 10
此处每一位可为A-Za-z0-9,共26+26+10=62种可能,取长度为22即可满足要求)
1、head -n 80 /dev/urandom 取/dev/urandom文件的前80行 (/dev/urandom是linux下一个生成随机数的文件)
2、tr -dc A-Za-z0-9  即,用空格替换文本中除A-Za-z0-9之外的所有字符,并删除空格
备注:tr命令是替换或者删除字符的命令.-d的意思是删除后面集合中的字符,-c的意思是取反,就是说,除了后面的字符集合其他的都删除掉.我们可以通过后面的字符的集合来指定自己的密码复杂度.
3、 head -c 22  读取头22个字符

5.3 OpenSSL 操作

   ※ PKI: Public Key Infrastructure
      ➢ CA
      ➢ RA
      ➢ CRL
      ➢证书存取库
   ※ 建立私有CA:
      ➢OpenCA    win简单
      ➢openssl     
   ※ 证书申请及签署步骤:
      ➢1、生成申请请求
      ➢2、RA核验
      ➢3、CA签署
      ➢4、获取证书

openssl 搭建私有CA:

过程: 生成私钥→申请提交个人信息公司,省市    CA收到请求(拷贝到CA) CA给签发生成证书文件 使用服务(https)

5.4 创建CA和申请证书

  ※ 创建私有CA:
      ➢ openssl的配置文件: /etc/pki/tls/openssl.cnf
      ➢ 三种策略:匹配、支持和可选
      ➢ 匹配指要求申请填写的信息跟CA设置信息必须-致,支持指必须填写这项申请信息,可选指可有可无
   ※ 1.创建所需要的文件
      ➢ touch /etc/pki/CA/index. txt生成证书索引数据库文件
      ➢ echo 01 > /etc/pki/CA/serial 指定第- - 个颁发证书的序列号
   ※ 2、 CA自签证书
      ➢ 生成私钥
      ➢ cd /etc/pki/CA/
      ➢ (umask 066; openssI genrsa -out /etc/pki/CA/private/cakey.pem 2048)
   ※ 生成自签名证书
      ➢ openssI req -new -x509 -key
      ➢ /etc/pki/CA/private/cakey.pem -days 7300 -out
      ➢ /etc/pki/CA/cacert. pem
      ➢ -new;生成新证书签署请求
      ➢ -x509:专用于CA生成自签证书
      ➢ -key:生成请求时用到的私钥文件
      ➢ -days n:证书的有效期限音
      ➢ -out /PATH/TO/SOMECERTFILE:证书的保存路径
   ※ 3.领发证书
      ➢ A 在需要使用证书的主机生成证书请求
          给web服务器生成私钥
          (umask 066; openssI genrsa -out
          /etc/ pki/tls/private/test.key 2048)
         生成证书申请文件
         openssl req -new -key /etc/pki/tls/private/test.key -days 365 -out etc/pki/tls/test . csr
      ➢ B 将证书请求文件传输给CA
      ➢ C CA签署证书,,并将证书颁发给请求者
            openssI ca -in /tmp/test.csr -out  /etc/pki/CA/certs/test.cnt -days 365
            注意:默认国家,省,公司名称三项必须和CA一致
      ➢ D 查看证书中的信息:
             openssI x509 - in /PATH/FROM/CERT_ FILE -noout -text |issuer| subject| serial| dates
             openssI ca -status SERIAL查看指定编号的证书状态
   ※ 4、吊销证书
      ➢ A 在客户端获取要吊销的证书的serial
          openssl x509 -in /PATH/FROM/CERT_ FILE -noout -serial -subject
      ➢ B 在CA上,根据客户提交的serial与subject信息,对比检验是
          否与index.txt文件中的信息致,吊销证书: .
          openssI ca -revoke /etc/ pki/CA/ newcerts/ SERIAL.pem
      ➢ C 指定第一个吊销证书的编号
           注意:第一次更新证书吊销列表前,才需要执行
           echo 01 > /etc/pki/CA/crlnumber
      ➢ D 更新证书吊销列表
           openssl ca -gencrI -out /etc/ pki/CA/crl/crl. pem
           查看crl文件:
           openssI crl -in /etc/ pki/CA/crl/crl.pem -noout -text

openssl 搭建私有CA:

10.4.7.11 作为web外部服务器,提供https       10.4.7.12 作为CA服务器 

一、10.4.7.12 搭建CA服务器 :

1、 配置ca搭建必要的配置: vim /etc/pki/tls/openssl.cnf   。文件内容可以不用改,但是必须懂,ca通过这个文件创建ca

           [root@hdss7-12 ~]# rpm -qf /etc/pki/tls/openssl.cnf     查看谁生成了openssl.cnf 
           openssl-libs-1.0.2k-19.el7.x86_64

这个文件并不是ca特有的文件,而是openssl 配置文件

####################################################################
[ ca ]
default_ca      = CA_default            # The default ca section   他允许在这个机器上创建多个CA机构配置,其中CA_default是默认

####################################################################
[ CA_default ]        默认CA

dir             = /etc/pki/CA           # Where everything is kept   dir             变量赋值

[root@hdss7-12 ~]# tree /etc/pki/CA/
/etc/pki/CA/
├── certs
├── crl
├── newcerts
└── private

[root@hdss7-12 ~]# rpm -ql openssl
/etc/pki/CA
/etc/pki/CA/certs
/etc/pki/CA/crl
/etc/pki/CA/newcerts
/etc/pki/CA/private

certs           = $dir/certs            # Where the issued certs are kept           放发布的证书,存档,跟原证书内容一致存放在哪里
crl_dir         = $dir/crl                # Where the issued crl are kept               证书签发crl列表目录存放在哪里

证书吊销列表 (Certificate Revocation List ,简称: CRL) 是 PKI 系统中的一个结构化数据文件,该文件包含了证书颁发机构 (CA) 已经吊销的证书的序列号及其吊销日期。 CRL 文件中还包含证书颁发机构信息、吊销列表失效时间和下一次更新时间,以及采用的签名算法等。证书吊销列表最短的有效期为一个小时,一般为 1 天,甚至一个月不等,由各个证书颁发机构在设置其证书颁发系统时设置。如下图所示:

database        = $dir/index.txt        # database index file.     数据库文本文件,颁发的证书的,每个证书的编号索引描述等信息
#unique_subject = no                    # Set to 'no' to allow creation of
                                                      # several ctificates with same subject.  是否允多个证书使用相同的subject。

subject就是给谁颁发证书 ,颁发给

new_certs_dir   = $dir/newcerts    # default place for new certs.  默认新的证书存放路径

certificate     = $dir/cacert.pem      # The CA certificate    CA 也有证书,正常是上级颁发,第一个证书是自签名证书
serial          = $dir/serial            # The current serial number     序列号,每个证书都有自己的编号,这里面写的是当前序列号

                                                                                                  他是下一个要颁发的序列号
crlnumber       = $dir/crlnumber        # the current crl number   吊销的编号序列号
                                                         # must be commented out to leave a V1 CRL
crl             = $dir/crl.pem          # The current CRL    证书吊销的存放路径 
private_key     = $dir/private/cakey.pem# The private key   CA证书私钥文件
RANDFILE        = $dir/private/.rand    # private random number file    随机数  

x509_extensions = usr_cert              # The extentions to add to the cert  x509后缀的扩展

name_opt      = ca_default              # Subject Name options    颁发者默认配置
cert_opt        = ca_default               # Certificate field options

# 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_ext

default_days    = 365                   # how long to certify for   有效期,默认365天,比如百度


default_crl_days= 30                   # how long before next CRL   多长时间颁发发布一次证书调查列表,哪些证书被吊销了
default_md      = sha256              # use SHA-256 by default     hash算法
preserve        = 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使用的是policy_match。

# For the CA policy
[ policy_match ]      匹配policy_match ,私有的内部使用

CA :作为一个ca,提交必要信息,你是哪个国家、哪个城市、哪个公司等等的ca,对应的申请ca认证的必须要提交对应的一样的信息。  match 是必须ca 服务器跟申请ca的客户端信息一致, optional非必须

countryName                    = match    国家名字
stateOrProvinceName      = match  州或省名称名字
organizationName            = match   组织名字
organizationalUnitName   = optional    组织单位名称名字
commonName                  = supplied    给哪个主机或者域名搭建ca
emailAddress                    = optional   给哪个email搭建ca

[ policy_anything ]   给所有人用的
countryName                   = optional
stateOrProvinceName     = optional
localityName                    = optional
organizationName           = optional
organizationalUnitName  = optional
commonName                 = supplied
 

2、搭建CA认证

dir               = /etc/pki/CA                     # Where everything is kept
certs           = $dir/certs                        # Where the issued certs are kept
database           = $dir/index.txt           # database index file.
new_certs_dir   = $dir/newcerts           # default place for new certs.

certificate     = $dir/cacert.pem       # The CA certificate
serial            = $dir/serial                # The current serial number
private_key     = $dir/private/cakey.pem     # The private key

※ 2、 CA自签证书  生成私钥

[root@hdss7-12 ~]# (umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048 )
Generating RSA private key, 2048 bit long modulus
.................................................................+++
....................................................................................................................................................................................+++
e is 65537 (0x10001)
[root@hdss7-12 ~]# tree /etc/pki/CA/
/etc/pki/CA/
├── certs
├── crl
├── newcerts
└── private
    └── cakey.pem

 ※ 生成自签名证书      自己给自己颁发证书,自签名:

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
      ➢ req 请求    
      ➢ -new 生成新证书签署请求
      ➢ -x509 专用于CA生成自签证书
      ➢ -key 生成请求时用到的私钥文件
      ➢  /etc/pki/CA/private/cakey.pem  提供私钥证书路径
      ➢ -days n  证书的有效期限音,自己签名,所以有效期给7300天
      ➢ -out /PATH/TO/SOMECERTFILE:证书的保存路径

[root@hdss7-12 ~]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem
Country Name (2 letter code) [XX]:CN                     国家名字
State or Province Name (full name) []:liaoning        州或省名称名字
Locality Name (eg, city) [Default City]:shenyang     组织名字
Organization Name (eg, company) [Default Company Ltd]:jerry.com     组织单位名称名字
Organizational Unit Name (eg, section) []:it     给哪个主机或者域名搭建ca
Common Name (eg, your name or your server's hostname) []:hdss7-12     通用名,一般为服务器的主机名,这个名字会出现在颁发者
Email Address []:                                给哪个email搭建ca,允许不写  
[root@hdss7-12 ~]# ll /etc/pki/CA/cacert.pem 
-rw-r--r-- 1 root root 1318 10月  9 14:19 /etc/pki/CA/cacert.pem
[root@hdss7-12 ~]# cat !$
cat /etc/pki/CA/cacert.pem
-----BEGIN CERTIFICATE-----
MIIDoTCCAomgAwIBAgIJAMJYX80ueYHMMA0GCSqGSIb3DQEBCwUAMGcxCzAJBgNV
BAYTAkNOMREwDwYDVQQIDAhsaWFvbmluZzERMA8GA1UEBwwIc2hlbnlhbmcxEjAQ
BgNVBAoMCWplcnJ5LmNvbTELMAkGA1UECwwCaXQxETAPBgNVBAMMCGhkc3M3LTEy
MB4XDTIwMTAwOTA2MTkyNloXDTQwMTAwNDA2MTkyNlowZzELMAkGA1UEBhMCQ04x
ETAPBgNVBAgMCGxpYW9uaW5nMREwDwYDVQQHDAhzaGVueWFuZzESMBAGA1UECgwJ
amVycnkuY29tMQswCQYDVQQLDAJpdDERMA8GA1UEAwwIaGRzczctMTIwggEiMA0G
CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCyV08G+MSNmpS8lRZVr71xFsEeTbTe
P1DEs0Emm9O/8zctzg0QvZiwGJfJ9Xj3/TsP57XxjExkYoYt+QFBkhnbLL9DRylk
DL1C3OAhjomaU6KuAEvRqd3MEYcF48aM3Ytj/6wLJN2qjH9lozrQQIFqxrUO/ftt
yZTfE2C9bCvhrGi3hWYehnPfZsjzuaKxCK1JVR7MAMaZ3aVQglODmQHPnCJXanti
fSberjZja6nPt769xqJEatqLWp4sk6QW/ASRP9SlJg/KhbgmZWOi8Znw485lzP9T
S6w5zAvZK/qnDtwK4AAOs/AnbB521niKHp89OUXbQShay1DRqMVvUt4BAgMBAAGj
UDBOMB0GA1UdDgQWBBQMbrRHEfIdIHxXUDaMEKo/vQj7EjAfBgNVHSMEGDAWgBQM
brRHEfIdIHxXUDaMEKo/vQj7EjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUA
A4IBAQBtRTQZDz8WNTEPIQKjeX8ewmwzSZCHFDyNXM5nOz7hhQx94DFc1mE3eKYr
PSufygliQOd6y349uSONOkPPuSOD4LgxOYuGX2UbkmllotIk+xkvQbrnAnxouDUS
WU9zBoswcnoXPnOF1pA25el2zxNrlcHPz3XuaLXlgQjSt+m63kSFhGmo/wgOFgIv
IKd3OBbnQyPjARM4nB30d9J0QQGelHSDSEoz6lwYeL/BOwfG++sHn1J65pZ3ui1K
lxwQ0FoO4zPB0TfILear5lcB8YaloHHUpWb4WhIYzu7MZ3mVNx7aUiNOqpUmrT80
PRJ+D5smwx6I9VXsWvrriilS8bXa
-----END CERTIFICATE-----
[root@hdss7-12 ~]# file !$
file /etc/pki/CA/cacert.pem
/etc/pki/CA/cacert.pem: PEM certificate   PEM 证书文件

用x509 查看证书内容:

[root@hdss7-12 ~]# openssl x509 -in /etc/pki/CA/cacert.pem -noout -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            c2:58:5f:cd:2e:79:81:cc
    Signature Algorithm: sha256WithRSAEncryption
        Issuer颁发者: C=CN, ST=liaoning, L=shenyang, O=jerry.com, OU=it, CN=hdss7-12
        Validity
            Not Before: Oct  9 06:19:26 2020 GMT    有效期
            Not After : Oct  4 06:19:26 2040 GMT      有效期
        Subject 给谁颁发,颁发给自己: C=CN, ST=liaoning, L=shenyang, O=jerry.com, OU=it, CN=hdss7-12   
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)

win查看:

  该后缀

   

二、 客户端申请证书:

10.4.7.11 作为web外部服务器,提供https  

1、客户端申请私钥:

作为客户端私钥放在那,CA配置文件写必须在哪,客户端不需要,在生产中:根据你做的什么服务放在什么位置

[root@hdss7-11 ~]# cd /home/
[root@hdss7-11 home]# (umask 066;openssl genrsa -out /home/service.key 2048)
Generating RSA private key, 2048 bit long modulus
...........................................................+++
.............................+++
e is 65537 (0x10001)
[root@hdss7-11 home]# ll service.key 
-rw------- 1 root root 1675 10月  9 14:39 service.key
[root@hdss7-11 home]# cat service.key 
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEArv2ZAS0AeCKqP4Cv4Mqv9PBpF73uNIObsuzT7Jq9vIYGuSzm
N/WAPDPS11gFlFKQcmW6BHG/l1lWSbpi871O3qWX2L5w0CcKXVe4B7xDis/MHw2t
M5cPpW5LvZkmA4cRmPnoh+sz65yfpwoFS6idP0n5hjIAcluOgpKOM6oadCREkw3m
a0LNofycJY85motd1pnVNGyIacaIkUJbhLRkqXDJTRTnidywj+FzNJVOnHPfV533
n8rEwshktC2ypeav9Z/DgyaEqMg89UhC/xCgnOtZkLx2xwsbR4IUqDUeJHczS2Xr
tVE508j0cxTFGz5OV66CPZJIIYNn0Be4MaMl7wIDAQABAoIBAFy88VV6MAF6/Zbh
8FPFlzLMJiX69j7GcMGGWVnPODatIOsKLIgDh45gOKD/eRV+HCdEWiz4y3y+T8iL
Ct35uc6tG6g2ZTsrNYb6cgFHeNQcBCWA7gWlTRlzNpiojUjZUC4uY1mFAOMhAktY
Cf4RAoGACGQ4FcW07HT9texN7DhnF2qnzhVK5S6UaekeoCwPveIhkmKpJlXgYSj1
TELHFUyOmGesaR76lkwMdbEevBwPOAZcC8r+yNwoze1OGz2xJu7sYAw41H0XGZH7
b/vDd7vYZ7awoWqPHNrh41lSg7up5NGbqg/9/WmvEPknhcsX3mo=
-----END RSA PRIVATE KEY-----

2、利用私钥生成证书请求文件,发给CA。
   openssl req -new -key /home/service.key -days 365 -out /home/service.csr
   相比CA生成自签名证书 ,少了x509 
   天数-days 这写不写不生效,是根据CA天数决定的
   .csr  是请求文件后缀名

[root@hdss7-11 home]# openssl req -new -key /home/service.key -days 365 -out /home/service.csr
Country Name (2 letter code) [XX]:CN   
State or Province Name (full name) []:liaoning
Locality Name (eg, city) [Default City]:luoyang    设置了不需要一致
Organization Name (eg, company) [Default Company Ltd]:jerry.com
Organizational Unit Name (eg, section) []:bumen   
Common Name (eg, your name or your server's hostname) []:www.jerry.com     必须写对外提供服务的网站名,如果不一致,报错   Common Name (eg, your name or your server's hostname) []:*.jerry.com     或者写泛域名
Email Address []:
A challenge password []:   口令加密可以不写
An optional company name []:   可选的公司名,可以不写
[root@hdss7-11 home]# ll /home/service.csr 
-rw-r--r-- 1 root root 1013 10月  9 14:52 /home/service.csr
[root@hdss7-11 home]# cat !$   明文
cat /home/service.csr
-----BEGIN CERTIFICATE REQUEST-----
MIICszCCAZsCAQAwbjELMAkGA1UEBhMCQ04xETAPBgNVBAgMCGxpYW9uaW5nMRAw
DgYDVQQHDAdsdW95YW5nMRIwEAYDVQQKDAlqZXJyeS5jb20xDjAMBgNVBAsMBWJ1
bWVuMRYwFAYDVQQDDA13d3cuamVycnkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOC
AQ8AMIIBCgKCAQEArv2ZAS0AeCKqP4Cv4Mqv9PBpF73uNIObsuzT7Jq9vIYGuSzm
N/WAPDPS11gFlFKQcmW6BHG/l1lWSbpi871O3qWX2L5w0CcKXVe4B7xDis/MHw2t
M5cPpW5LvZkmA4cRmPnoh+sz65yfpwoFS6idP0n5hjIAcluOgpKOM6oadCREkw3m
a0LNofycJY85motd1pnVNGyIacaIkUJbhLRkqXDJTRTnidywj+FzNJVOnHPfV533
n8rEwshktC2ypeav9Z/DgyaEqMg89UhC/xCgnOtZkLx2xwsbR4IUqDUeJHczS2Xr
tVE508j0cxTFGz5OV66CPZJIIYNn0Be4MaMl7wIDAQABoAAwDQYJKoZIhvcNAQEL
BQADggEBABADsmGUU9nmr6Cscy7q/SlEHx9MTb/REVPtAerEg7nTI0eWaNlkrv3W
pdsdfdl/IR1+uo6Exsql1TgO6Jwd3QnfVd3MqOERqkyn9f0H13OvFfCary7VgKtV
GTQXblCMZsRDtQG2lk+17NVDC/k6wyPRkXG1MfcbwKS1Wj+pyoE/bUeRjEA8A/28
SfhIGQmALFJsQZjxyWKiGD3whGJGyTpSYH+RoyJ/H1gkJu4k+WhKTw6WIHDtNn6W
5ogkOlaViolFREX5or3UKULN9O2MGwuzEkwLABqKgJZzcnpCh0WGJfWOWNMpircy
S8PcsUHATz6HAPCOG9tFjmu05WXNp4E=
-----END CERTIFICATE REQUEST-----
[root@hdss7-11 home]# openssl x509 -in /home/service.csr -noout -text    
unable to load certificate
140296693258128:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:707:Expecting: TRUSTED CERTIFICATE

、把申请证书发送给CA服务器

[root@hdss7-12 CA]# mkdir csr
[root@hdss7-11 home]# scp /home/service.csr 10.4.7.12:/etc/pki/CA/csr

四、颁发证书

hdss7-12 中:
openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 100
由于openssl.conf     certs  = $dir/certs  # Where the issued certs are kept  放发布的证书,存档,跟原证书内容一致
-days 100 给他颁发100天。所以这个天数是CA颁发的,不是申请的

[root@hdss7-12 csr]# openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 100
Using configuration from /etc/pki/tls/openssl.cnf
/etc/pki/CA/index.txt: No such file or directory
unable to open '/etc/pki/CA/index.txt'
140354823894928:error:02001002:system library:fopen:No such file or directory:bss_file.c:402:fopen('/etc/pki/CA/index.txt','r')
140354823894928:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:404:

报错:因为databases = /etc/pki/CA/index.txt  没有创建:

[root@hdss7-12 csr]# touch /etc/pki/CA/index.txt
[root@hdss7-12 csr]# openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 100
Using configuration from /etc/pki/tls/openssl.cnf
/etc/pki/CA/serial: No such file or directory
error while loading serial number
140199906129808:error:02001002:system library:fopen:No such file or directory:bss_file.c:402:fopen('/etc/pki/CA/serial','r')
140199906129808:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:404:

报错:因为serial  = /etc/pki/CA/serial   没有创建,还的创建那个索引开始:
[root@hdss7-12 csr]# echo 01 > /etc/pki/CA/serial           必须是两位数,00~99,而且一个数字,比如1要写01。

一般开头都是00 或者01 

[root@hdss7-12 csr]# openssl ca -in /etc/pki/CA/csr/service.csr -out /etc/pki/CA/certs/service.crt -days 100
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Oct  9 08:09:35 2020 GMT
            Not After : Jan 17 08:09:35 2021 GMT
        Subject:
            countryName               = CN                    检查申请私钥跟CA是否有差异
            stateOrProvinceName       = liaoning       检查申请私钥跟CA是否有差异
            organizationName          = jerry.com        检查申请私钥跟CA是否有差异
            organizationalUnitName    = bumen      
            commonName                = www.jerry.com
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                E0:D7:E2:3D:D9:08:81:11:65:54:7A:15:76:BF:2E:26:E6:E4:A3:AA
            X509v3 Authority Key Identifier: 
                keyid:0C:6E:B4:47:11:F2:1D:20:7C:57:50:36:8C:10:AA:3F:BD:08:FB:12

Certificate is to be certified until Jan 17 08:09:35 2021 GMT (100 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    数据库更新
[root@hdss7-12 csr]# tree /etc/pki/CA/
/etc/pki/CA/
├── cacert.pem
├── certs
│   └── service.crt    生成的颁发证书
├── crl
├── csr
│   └── service.csr  
├── index.txt
├── index.txt.attr
├── index.txt.old
├── newcerts
│   └── 01.pem    自动生成的颁发证书,名字为创建的时候01
├── private
│   └── cakey.pem
├── serial
└── serial.old

[root@hdss7-12 CA]# ll ./certs/service.crt ./newcerts/01.pem 
-rw-r--r-- 1 root root 4466 10月  9 16:20 ./certs/service.crt
-rw-r--r-- 1 root root 4466 10月  9 16:20 ./newcerts/01.pem
[root@hdss7-12 CA]# cat serial        serial  涨一位 , 如果serial =99,下一位9A(十六进制)。
02
[root@hdss7-12 CA]# cat serial.old 
01

[root@hdss7-12 CA]# cat index.txt
V    210117080935Z        01    unknown    /C=CN/ST=liaoning/O=jerry.com/OU=bumen/CN=www.jerry.com
V 代表当前是有效期正常状态 

查看证书:

[root@hdss7-12 CA]# openssl x509 -in /etc/pki/CA/certs/service.crt -noout -text
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 1 (0x1)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer 颁发者hdss7-12(CA): C=CN, ST=liaoning, L=shenyang, O=jerry.com, OU=it, CN=hdss7-12
        Validity
            Not Before: Oct  9 08:09:35 2020 GMT    颁发证书是100天
            Not After : Jan 17 08:09:35 2021 GMT    
        Subject给谁颁发www.jerry.com: C=CN, ST=liaoning, O=jerry.com, OU=bumen, CN=www.jerry.com
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    00:ae:fd:99:01:2d:00:78:22:aa:3f:80:af:e0:ca:
                    af:f4:f0:69:17:bd:ee:34:83:9b:b2:ec:d3:ec:9a:

sz /etc/pki/CA/certs/service.crt 

发现没有上级ca信息

导入上级ca

再看 /etc/pki/CA/certs/service.crt 

五、颁发证书拷贝回hdss7-11 

把生成的颁发证书 service.crt 拷贝回hdss7-11 ,就完事了

六、需求:多个服务,每个都有不同的证书

1、如果同一台客户端机器,可以不需要重新创建私钥

10.4.7.11 作为另一个服务对外部服务器,提供https ,顺便测试验证失败
[root@hdss7-11 home]# openssl req -new -key /home/service.key -out /home/service1.csr
Country Name (2 letter code) [XX]:US
State or Province Name (full name) []:newYork
Locality Name (eg, city) [Default City]:nhd
Organization Name (eg, company) [Default Company Ltd]:jerry.com
Organizational Unit Name (eg, section) []:it
Common Name (eg, your name or your server's hostname) []:www.wang.com      
Email Address []:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@hdss7-11 home]# scp /home/service1.csr 10.4.7.12:/etc/pki/CA/csr
service1.csr                                                                               100% 1001   298.1KB/s   00:00    
[root@hdss7-11 home]# 

10.4.7.12:

[root@hdss7-12 CA]# openssl ca -in csr/service1.csr -out certs/service1.crt -days 365
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
The countryName field needed to be the same in the
CA certificate (CN) and the request (US)   报错了提示检测失败,而且这个检测是一个一个检测的

修改后:颁发证书

[root@hdss7-12 CA]# cat index.txt
V    210117080935Z        01    unknown    /C=CN/ST=liaoning/O=jerry.com/OU=bumen/CN=www.jerry.com
V    211009090441Z        02    unknown    /C=CN/ST=liaoning/O=jerry.com/OU=as/CN=www.jerry1.com\xC3\x82\xC2\xA0
[root@hdss7-12 CA]# cat index.txt.old 
V    210117080935Z        01    unknown    /C=CN/ST=liaoning/O=jerry.com/OU=bumen/CN=www.jerry.com
[root@hdss7-12 CA]# cat index.txt.attr
unique_subject = yes 

唯一效果是:  Subject: C=CN, ST=liaoning, O=jerry.com, OU=bumen, CN=www.jerry.com  不能所有都相同

案例: openssl ca -in csr/service1.csr -out certs/service1.crt -days 365后,会出现error number 

[root@hdss7-12 CA]# openssl x509 -in ./newcerts/01.pem -noout -issuer
issuer= /C=CN/ST=liaoning/L=shenyang/O=jerry.com/OU=it/CN=hdss7-12
[root@hdss7-12 CA]# openssl x509 -in ./newcerts/01.pem -noout -subject
subject= /C=CN/ST=liaoning/O=jerry.com/OU=bumen/CN=www.jerry.com
[root@hdss7-12 CA]# openssl x509 -in ./newcerts/01.pem -noout -dates
notBefore=Oct  9 08:09:35 2020 GMT
notAfter=Jan 17 08:09:35 2021 GMT
[root@hdss7-12 CA]# openssl x509 -in ./newcerts/01.pem -noout -serial
serial=01

七、吊销证书:

1、吊销证书:[root@hdss7-12 CA]# openssl ca -revoke newcerts/02.pem     revoke 取消权限
Using configuration from /etc/pki/tls/openssl.cnf
Revoking Certificate 02.
Data Base Updated
[root@hdss7-12 CA]# cat index.txt   R 就是吊销
V    210117080935Z        01    unknown    /C=CN/ST=liaoning/O=jerry.com/OU=bumen/CN=www.jerry.com
R    211009090441Z    201009092235Z    02    unknown    /C=CN/ST=liaoning/O=jerry.com/OU=as/CN=www.jerry1.com\xC3\x82\xC2\xA0

2、指定吊销证书的编号
[root@hdss7-12 CA]#cat /etc/pki/tls/openssl.cnf
crlnumber    = $dir/crlnumber    # the current crl number     这个还是需要创建,而且也是下一个编号
注意:第一次更新证书吊销列表前,才需要执行
[root@hdss7-12 CA]# echo 01 > /etc/pki/CA/crlnumber

3、 更新证书吊销列表:

生成证书调查列表:
[root@hdss7-12 CA]# openssl ca -gencrl -out /etc/ pki/CA/crl.pem    会默认查询 /etc/ pki/CA/crl.pem/index.txt == R  
查看crl文件:
[root@hdss7-12 CA]# openssl crl -in /etc/pki/CA/crl.pem -noout -text
Certificate Revocation List (CRL):
        Version 2 (0x1)
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: /C=CN/ST=liaoning/L=shenyang/O=jerry.com/OU=it/CN=hdss7-12
        Last Update: Oct  9 09:31:53 2020 GMT
        Next Update: Nov  8 09:31:53 2020 GMT
        CRL extensions:
            X509v3 CRL Number: 
                1
Revoked Certificates:
   Serial Number: 02

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. RTU水库大坝安全自动监测

    我国是个山川、河流众多的国家&#xff0c;特别是南方地区&#xff0c;河流湖泊密布&#xff0c;特别是中小河流&#xff0c;纵横交错&#xff0c;如此众多的河流&#xff0c;极易造成洪水灾害。 为防止洪水灾害给人们造成危害和财产损失&#xff0c;人们不断在各大河流…...

    2024/4/19 8:13:54
  2. 蓝桥杯——数的分解

    问题描述&#xff1a; 把 2019 分解成 3 个各不相同的正整数之和&#xff0c;并且要求每个正整数都 不包含数字 2 和 4&#xff0c;一共有多少种不同的分解方法&#xff1f;注意问题&#xff1a; 注意交换 3 个整数的顺序被视为同一种方法&#xff0c; 例如&#xff1a; 1000…...

    2024/4/26 11:39:33
  3. 算法分析与设计_我才是真正的小王同学

    算法和程序的区别 算法是解决特定问题求解步骤的描述&#xff0c;在计算机中表现为指令的有限序列&#xff0c;并且每条指令表示一个或多个操作。 算法具有五个基本特性&#xff1a;输入&#xff0c;输出&#xff0c;有穷性&#xff0c;确定性和可行性。 输入&#xff1a;有外…...

    2024/4/14 18:53:37
  4. java Servlet笔记16

    Servlet 自动刷新页面 java Servlet 提供了一个机制&#xff0c;使得网页会在给定的时间间隔自动刷新。 刷新网页的最简单的方式是使用响应对象的方法 setIntHeader()。以下是这种方法的定义&#xff1a; public void setIntHeader(String header, int headerValue)此方法把…...

    2024/4/17 17:42:07
  5. 一面 5:浏览器相关知识点与高频考题解析

    Web 前端工程师写的页面要跑在浏览器里面,所以面试中也会出现很多跟浏览器相关的面试题目。 知识点梳理 浏览器加载页面和渲染过程性能优化Web 安全本小节会从浏览器的加载过程开始讲解,然后介绍如何进行性能优化,最后介绍下 Web 开发中常见的安全问题和预防。 加载页面和渲…...

    2024/4/11 13:45:56
  6. java Servlet笔记17

    Servlet 发送电子邮件 ​ 使用 Servlet 发送一封电子邮件是很简单的&#xff0c;但首先您必须在您的计算机上安装 JavaMail API 和 Java Activation Framework&#xff09;JAF&#xff09;。 ​ 下载并解压缩这些文件&#xff0c;在新创建的顶层目录中&#xff0c;您会发现这…...

    2024/4/25 1:37:16
  7. 计蒜客T1217 马走日

    计蒜客T1217 马走日 思路&#xff1a;DFS模板题&#xff0c;注意马可以跳8个方向&#xff0c;DFS是否回溯。 代码如下&#xff1a; #include<cstdio> #include<iostream> using namespace std; int vis[20][20]{0}; int xx[]{1,1,2,2,-1,-1,-2,-2}; int yy[]{-2,…...

    2024/4/21 15:06:01
  8. Python读取大文件的坑与内存占用检测

    Python读取大文件的"坑“与内存占用检测 1.read()与readlines() with open(file_path, rb) as f:sha1Obj.update(f.read()) or with open(file_path, rb) as f:for line in f.readlines():print(line)这对方法在读取小文件时确实不会产生什么异常&#xff0c;但是一旦读…...

    2024/4/28 5:25:18
  9. java Servlet笔记18

    Servlet 包 ​ 涉及到 WEB-INF 子目录的 Web 应用程序结构是所有的 Java web 应用程序的标准&#xff0c;并由 Servlet API 规范指定。给定一个顶级目录名 myapp&#xff0c;目录结构如下所示&#xff1a; /myapp/images/WEB-INF/classes/lib​ WEB-INF 子目录中包含应用程序…...

    2024/4/15 1:19:08
  10. Spring5源码精讲:IOC源码剖析目录

    Spring5 IOC系类篇章结束啦~ 这里放一下相关文章的目录&#xff0c;接下来会开始AOP源码剖析的系列篇章 Spring5源码精讲&#xff08;一&#xff09;&#xff1a;5.0.x源码环境构建Spring5源码精讲&#xff08;二&#xff09;&#xff1a;IOC源码篇#1&#xff1a;BeanFactory…...

    2024/4/24 2:42:06
  11. 《如何阅读一本书》读后总结

    这段时间读了《如何阅读一本书》。很多书友推荐&#xff0c;说它是指导阅读的经典著作。而我恰好想提高自己的阅读速度、质量及深度&#xff0c;于是就买来一读。 确实&#xff0c;这本书全面且有深度。读完总感觉意犹未尽&#xff0c;没把其中的意思全面掌握。又翻来覆去地把…...

    2024/4/24 17:25:29
  12. java算法之二分查找法

    二分法保证传入的数组是有序的 package 递归;import java.lang.reflect.Array;public class 二分法 {public static void main(String[] args) {int[] arr {1,2,3,4,5,6};int p binarySearch(arr, 0, arr.length, 5);System.out.println(p);}/*int [] arr 整数数组low 小的 …...

    2024/4/20 3:22:34
  13. 【Java专题】Java中的TreeMap集合详解

    一、TreeMap集合的概述 1、什么是TreeMap集合&#xff1f;TreeMap集合&#xff1a;他是一个有序的集合&#xff0c;可以任意顺序将元素插入到集合中&#xff0c;对集合进行遍历的时候每个元素将自动按照排好序的顺序输出。他的底层是采用了二叉树对元素进行排序。2、特点TreeMa…...

    2024/4/26 13:58:56
  14. java Servlet笔记19

    Servlet 调试 System.out.println() System.out.println() 是作为一个标记来使用的&#xff0c;用来测试一段特定的代码是否被执行。我们也可以打印出变量的值。此外&#xff1a; 由于 System 对象是核心 Java 对象的一部分&#xff0c;它可以在不需要安装任何额外类的情况下被…...

    2024/4/26 1:43:06
  15. 电商数仓细节点

    电商数仓 1.1为什么选择 flume-kafka-flume 如果直接用taildir source-kafka channel - hdfs sink 会产生大量网络IO&#xff0c;效率并不高 1.2如何同步时间 1.2.1 修改系统时间&#xff0c;修改日志时间。但不严谨&#xff0c;前一天的数据有可能被存到下一天 1.2.2 给每…...

    2024/4/23 10:44:58
  16. .NET Framework系统要求

    总结 1.XP系统最多支持.net4.0&#xff0c;再高版本的.net运行时&#xff0c;xp系统将不支持。所以如果客户要求支持xp系统的话&#xff0c;.net开发环境不要高于.net4.0 .NET Framework系统要求 本文中的表提供了以下.NET Framework版本的硬件&#xff0c;操作系统和软件要求…...

    2024/4/26 2:30:28
  17. vue -- 异步组件的引用

    父组件 <template><div id"app">我是父页面<br />点击按钮我就从500变成了800<br />{{ width }}<hr /><HelloWorld1 :width"width" myChange"dochange" /></div> </template> <script> …...

    2024/4/20 12:02:34
  18. 1016 部分A+B (15分)

    1016 部分AB (15分) 题目描述 &#xff1a; -------------------------------------------------------------------------------------------------------------------------------------- 正整数 A 的“DAD_{A}DA​为 1 位整数&#xff09;部分”定义为由 A 中所有DAD_{A}D…...

    2024/4/15 9:42:06
  19. c语言动态顺序队列

    数据结构c语言动态顺序队列的实现和表示 代码如下&#xff1a; #include <stdio.h> #include <stdlib.h> #define InitSize 6typedef struct {int *base;//存储空间的基地址 int front;//头指针 int rear;//尾指针 int MAXSIZE;//队列存储最大值 }SqQueue;void …...

    2024/4/20 4:13:06
  20. 腾讯云弹性公网ip(EIP)宽带最大值可选5000Mbps?

    腾讯云弹性公网IP&#xff08;EIP&#xff09;带宽最大值多少&#xff1f;腾讯云弹性公网IP计费模式不同带宽上限也不同&#xff0c;共享带宽包最大可选1000Mbps、按流量计费EIP最大带宽值100Mbps、按小时带宽最大可选100Mbps、包月带宽EIP最大带宽可选200Mbps&#xff0c;腾讯…...

    2024/4/11 5:56:45

最新文章

  1. LNMP部署及应用(Linux+Nginx+MySQL+PHP)

    LNMP 我们为什么采用LNMP这种架构? 采用Linux、PHP、MySQL的优点我们不必多说。 Nginx是一个小巧而高效的Linux下的Web服务器软件&#xff0c;是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的&#xff0c;已经在一些俄罗斯的大型网站上运行多年&#xff0c;目…...

    2024/5/2 5:34:02
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. 实景三维在数字乡村建设中的重要作用

    随着科技的飞速发展&#xff0c;数字乡村建设已成为推动乡村振兴、实现农村现代化的重要途径。实景三维技术作为数字乡村建设的重要支撑&#xff0c;正逐渐在各个领域发挥着不可或缺的作用。本文将从实景三维技术在数字乡村中的应用场景、优势及未来展望等方面进行探讨&#xf…...

    2024/5/1 13:46:14
  4. react--常见hook

    useState: 用于在函数组件中添加状态。示例&#xff1a; import React, { useState } from react;function Counter() {const [count, setCount] useState(0);return (<div><p>Count: {count}</p><button onClick{() > setCount(count 1)}>Incr…...

    2024/5/1 10:37:22
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/1 10:25:26
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/1 13:20:04
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/1 21:18:12
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/1 4:07:45
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/4/30 23:32:22
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/4/30 23:16:16
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/1 6:35:25
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/1 11:24:00
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/2 5:31:39
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/1 20:22:59
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/4/30 22:14:26
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/1 6:34:45
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/2 0:07:22
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/4/30 20:39:53
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/1 4:45:02
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/1 8:32:56
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/1 14:33:22
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/1 11:51:23
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/1 5:23:20
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/1 20:56:20
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57