• 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}进行访问

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

     

     

  • 相关阅读:
    建模:确定服务的边界——《微服务设计》读书笔记
    linux & windows下重启oracle
    Git配置用户名与邮箱
    Git中使用amend解决提交冲突
    微服务架构师的职责——《微服务设计读书笔记》
    MAC下配置ssh让SourceTree通过秘钥访问远程仓库
    微服务的概念——《微服务设计》读书笔记
    Uva 11572 唯一的雪花
    Codeforces Round #404 (Div. 2) ABC
    tyvj 1031 热浪 最短路
  • 原文地址:https://www.cnblogs.com/J-xiaowei/p/13794394.html
Copyright © 2020-2023  润新知