zoukankan      html  css  js  c++  java
  • 子签CA以及给别人发CA

    CA(Certificate Authority)数字认证中心

    加密算法

    1、对称加密:使用同一密钥对信息提供安全保护

    (1)常见的对称加密算法:DES、3DES、AES等

     2、非对称加密:使用公钥和私钥两个不同的密钥进行加密和解密

    (1)公钥(Public Key)与私钥(Private Key)的关系

    数字签名

    1、数字签名的功能

    ·身份验证:接收方可以确认该发送方的身份标识

    ·数据的完整性:证实消息在传送过程中内容没有被修改

    ·操作的不可否认性:其他用户不可能冒充发送方发送消息

    用户可以通过数字签名来确保数据的完整性和有效性,只采用私钥对数据进行加密处理即可。由于私钥仅为用户个人拥有,故而能够证实签名消息的唯一性,即验证一下两个方面:

    ·消息由签名者即发送方自己签名发送,签名者不能否认也难以否认

    ·消息自签发到接收这段过程中是否发生修改,签发的消息是否真实

    3、数字签名的过程

    (1)被发送文件用某种HASH算法产生数字摘要

    (2)发送方用自己的私钥对摘要进行加密,形成数字签名

    (3)将原文和加密的摘要同时传送给对方

    (4)对方用发送方的公钥对摘要进行解密,同时对收到的文件用发送方相同的HASH算法产生一个新的摘要

    (5)将解密后的摘要和新生成的摘相互比对,两者一致,则说明文件是由发送方发出的,并在传输过程中信息没有被破坏或篡改过,否则不然

    ca server

    先生成自己的私钥

    (umask 077;openssl genrsa -out private/cakey.pem 2048)

    然后给自签证书自签

    openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 365

    生成列表文件

    touch serial index.txt

     然后就可以给别人的csr(ca签名请求)签名了

    http server

    生成私钥

    openssl genrsa -out http.key 2048

    申请签名的请求

    openssl req -new -key http.key -out http.csr -days 365

    将这个scr文件拷贝到ca server上

    ca server

    openssl ca -in http.csr -out http.crt -days 365 

  • 相关阅读:
    推荐一款在IntelliJ IDEA中使用微信/QQ的插件
    springboot整合easyexcel实现Excel导入导出
    Spring Boot 跨域访问
    springboot整合mybatis-plus逆向工程
    给你自己的博客加个 Markdown
    Spring Boot实战:拦截器与过滤器
    CentOS软件的安装,更新与卸载命令
    Springboot整合pagehelper分页
    ajax请求成功回调函数没有执行问题
    ubuntu git生成ssh key (公钥私钥)配置github或者码云
  • 原文地址:https://www.cnblogs.com/ronghui/p/8836080.html
Copyright © 2011-2022 走看看