zoukankan      html  css  js  c++  java
  • openssl实现自签名证书

    前言

    证书的作用

    加密通信数据,验证对象身份,保证数据完整性

    什么是自签名证书

    公认的证书往往都需要收费,如果客户端与服务端都是由我们自己来操控,那便可以使用自签名证书(说白了就是只是自己认可的证书)

    ca签名证书

    ca签名证书,也就是我们自己当是认证的机构去认证一个证书,那么客户端新人该ca证书也代表着信任该ca证书签名的所有的自签名证书。

    openssl是什么

    OpenSSL是一套开源的密码学工具包

    在SSL协议中,我们使用了很多密码学手段来保护数据,其中包括对称密码、公钥密码、数字签名、证书、完整性校验、伪随机数生成等。由于这些算法和操作都非常复杂,于是开源社区就开发了一套库,这个库里面提供了很多现成的标准方法,其他开发者只要用正确调用这些方法,就可以实现SSL协议中的各种加密/解密操作了。

    linux环境下使用openssl生成ca证书与自签名证书

    生成ca证书

    1.生成ca证书的密钥key

    openssl genrsa -des3 -out ca.key 1024

    2.生成ca的自签名证书,是的,此处的ca证书也是一个自签名证书

    openssl req -new -x509  -days 365 -key ca.key -out ca.crt

    输入ca.key的使用密码后根据情况输入相应信息,在Commom Name选项中需要填写你要使用的域名

    如果不想在调用密钥文件的时候输入密码,可以使用以下操作去除

    openssl rsa -in ca.key -out ca.key

    使用ca证书签名自签名证书

    1.生成自签名证书密钥

    openssl genrsa -des3 -out server.key 1024

    2.生成自签名证书请求文件

    openssl req -new -key server.key -out server.csr

     

    输入相应信息后得到server.csr请求文件

    3.使用ca证书对自签名证书请求文件进行签名

    openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt

  • 相关阅读:
    九宫格小游戏源码分享
    DeviceOne 竟然做出来如此复杂的App
    DeviceOne 让你一见钟情的App快速开发平台
    MySQL初始化
    MySQL的操作
    MySQL
    Library
    Python模块
    Anaconda的使用
    面向对象之成员修饰 特殊成员 methclass
  • 原文地址:https://www.cnblogs.com/xiguadadage/p/10756424.html
Copyright © 2011-2022 走看看