zoukankan      html  css  js  c++  java
  • OpenSSL生成SSL证书

    前言:

      最近遇到一个问题,两个平台之间互相关联,但又不想输入端口那么麻烦,那么最好的方法就是一个使用80端口,一个使用443端口。于是才有了这篇文章。

    1. 检查openssl是否已经安装

    [root@loaclhost ~]# which openssl
    /usr/bin/openssl

    2. 接下来就开始生成证书

      1) 生成私钥

    # genra	生成RSA私钥
    # -des3	des3算法
    # 2048 私钥长度
    [root@loaclhost ~]# openssl genrsa -des3 -out server.pwd.key 2048
    Generating RSA private key, 2048 bit long modulus
    .................................+++
    ........................................................................+++
    e is 65537 (0x10001)
    Enter pass phrase for server.pwd.key:
    Verifying - Enter pass phrase for server.pwd.key:
    

      需要两次输入四位密码,生成一个有密码的私钥server.pwd.key

      2) 去除私钥中的密码

    [root@loaclhost ~]# openssl rsa -in server.pass.key -out server.key
    Enter pass phrase for server.pass.key:
    writing RSA key
    

      生成一个没有密码的私钥server.key

      3) 生成CSR(证书签名请求)

    # req 生成证书签名请求
    # -new 新生成
    # -key 私钥文件
    # -out 生成的CSR文件
    # -subj 生成CSR证书的参数
    openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=BeiJing/L=BeiJing/O=dev/OU=dev/CN=xxx.com"

      subj参数说明:

        1. /C :国家

        2. /ST :省

        3. /L : 城市

        4. /O : 企业

        5. /OU : 部门

        6. /CN : 域名ip

      4) 生成SSL证书

    [root@loaclhost ~]# openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
    Signature ok
    subject=/C=CN/ST=BeiJing/L=BeiJing/O=dev/OU=dev/CN=xxx.com
    Getting Private key
    

      最终只需要三个文件:server.crt, server.csr, server.key

    3. nginx运用

    server {
        listen          443 ssl;
        server_name     _; #本机ip
        client_max_body_size              200m;
    
        ssl_certificate        cert/server.crt;
        ssl_certificate_key    cert/server.key;
    
        ssl_ciphers      ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_protocols    TLSv1 TLSv1.1 TLSv1.2;
        ssl_session_timeout                 5m;
        ssl_prefer_server_ciphers           on;
    }
    最终输入https://{ip}进行访问

     毕竟是不安全的证书,忽略即可,当然,为了安全起见,还是申请正版证书较好。

     

     

  • 相关阅读:
    数据库事务4种隔离级别及7种传播行为
    Spring AOP深入剖析
    SQL语句-创建索引
    global文件中的application_start方法中做: 定时器
    细说ASP.NET Forms身份认证
    asp.net(C#)实现功能强大的时间日期处理类完整实例
    C# 文件操作类大全
    SQL Server Profiler:使用方法和指标说明
    分库分表原则 总结
    做软件与团队建设——对带研发团队和管理的总结
  • 原文地址:https://www.cnblogs.com/J-xiaowei/p/13794394.html
Copyright © 2011-2022 走看看