用 OpenSSL 创建可以用于 https 的证书

开会时 说到了安全问题 就简单鼓捣了一下 以后还是用nginx 转发比较好一些. 

https://blog.csdn.net/joyous/article/details/80659925

我这边用的 arm的机器进行测试验证的 没有什么问题. 

个人制作的证书也就玩玩而已,浏览器是不认的,会一直有红色的安全警告,不过仅实现加密连接倒是没问题。

而阿里云和腾讯云都有1年期免费的单域名证书,可正常使用,浏览器不会出现红色“不安全”警告,而是显示绿色的“安全”提示。

以下是自助生成证书的过程。

OpenSSL 下载

http://www.slproweb.com/products/Win32OpenSSL.html
这里下载 openssl win64 版本,并安装。

OpenSSL 设置环境

设置系统环境变量
set OPENSSL_CONF=C:/OpenSSL-Win64/bin/openssl.cfg
set path=C:\OpenSSL-Win64\bin;%path%;

首次使用时,创建目录 "newcerts"
C:\OpenSSL-Win32\bin\PEM\demoCA\newcerts

创建一个空文件 "serial" (没有扩展名)
C:\OpenSSL-Win32\bin\PEM\demoCA\serial

制作CA证书

进入目录 C:\OpenSSL-Win64\bin\PEM

生成 ca.key CA 私钥
openssl genrsa -out ca.key 4096

制作解密后的 CA 私钥(一般无此必要)
openssl rsa -in ca.key -out ca_decrypted.key

生成 ca.crt CA 根证书(公钥):
openssl req -new -x509 -days 7304 -key ca.key -out ca.crt

制作生成网站的证书并用CA 签名认证
如果CA证书已经存在或者想沿用,则可以直接从这一步开始。

生成证书私钥:
openssl genrsa -out server.pem 4096

制作解密后的证书私钥:
openssl rsa -in server.pem -out server.key

生成签名请求:
openssl req -new -key server.pem -out server.csr

在 common name 中填入网站域名,如 blog.creke.net 即可生成该站点的证书,同时也可以使用泛域名如 *.creke.net 来生成所有二级域名可用的网站证书。
用CA 进行签名:

openssl ca -policy policy_anything -days 3652 -cert ca.crt -keyfile ca.key -in server.csr -out server.crt

制作过程

Nginx 配置

以下是 Nginx 启用的部分配置,需要设置 ssl_certificate 和 ssl_certificate_key 指定证书和公钥,并且 listen 443,然后重新启动 Nginx,浏览器就可以用的 https://yourhost 的方式网页了。

转载自:
http://blog.creke.net/762.html

相关文章

http://www.cnblogs.com/gsls200808/p/4502044.html

[转帖]用 OpenSSL 创建可以用于 https 的证书的更多相关文章

  1. 使用 OpenSSL 创建私有 CA:1 根证书

    OpenSSL 创建私有 CA 三部曲:使用 OpenSSL 创建私有 CA:1 根证书使用 OpenSSL 创建私有 CA:2 中间证书使用 OpenSSL 创建私有 CA:3 用户证书 OpenS ...

  2. 利用OpenSSL创建证书链并应用于IIS7

    一.系统环境说明 Linux & OpenSSL Linux localhost -.el5 # SMP Tue Mar :: EDT x86_64 x86_64 x86_64 GNU/Lin ...

  3. 使用OpenSSL自建一个HTTPS服务

    1. 理论知识 1.1 什么是https 传统的 HTTP 协议以明文方式进行通信,不提供任何方式的数据加密,很容易被中间攻击者破解通信内容或者伪装成服务器与客户端通信,在安全性上存在很大问题. HT ...

  4. 使用openssl创建自签名证书及部署到IIS教程

    概要 本文讲解三个部分:1. 创建自签名证书2. 创建自己的证书颁发机构3. 以及如何配置IIS 创建自签名证书 首先,创建一个私钥文件: openssl genrsa -out myselfsign ...

  5. IIS8中使用OpenSSL来创建CA并且签发SSL证书

    前言 [转载]http://alvinhu.com/blog/2013/06/12/creating-a-certificate-authority-and-signing-the-ssl-certi ...

  6. 使用 OpenSSL 创建私有 CA:3 用户证书

    OpenSSL 创建私有 CA 三部曲:使用 OpenSSL 创建私有 CA:1 根证书使用 OpenSSL 创建私有 CA:2 中间证书使用 OpenSSL 创建私有 CA:3 用户证书 在前文&l ...

  7. 使用 OpenSSL 创建私有 CA:2 中间证书

    OpenSSL 创建私有 CA 三部曲:使用 OpenSSL 创建私有 CA:1 根证书使用 OpenSSL 创建私有 CA:2 中间证书使用 OpenSSL 创建私有 CA:3 用户证书 本文将在前 ...

  8. Confluence 6 通过 SSL 或 HTTPS 运行 - 创建或请求一个 SSL 证书

    在启用 HTTPS 之前,你需要一个有效的证书,如果你已经有了一个有效的证书,你可以直接跳过这个步骤,进入 step 2. 你可以创建一个自签名的证书,或者从信任的 Certificate Autho ...

  9. https学习笔记三----OpenSSL生成root CA及签发证书

    在https学习笔记二,已经弄清了数字证书的概念,组成和在https连接过程中,客户端是如何验证服务器端的证书的.这一章,主要介绍下如何使用openssl库来创建key file,以及生成root C ...

随机推荐

  1. triggerHandler(type, [data])

    triggerHandler(type, [data]) 概述 这个特别的方法将会触发指定的事件类型上所有绑定的处理函数.但不会执行浏览器默认动作,也不会产生事件冒泡. 大理石平台价格 这个方法的行为 ...

  2. FtpHelper.cs

    网上找了好多,感觉还是自己这个使用起来方便点,记录一下! using System; using System.Collections; using System.IO; using System.L ...

  3. hdu 1023 hdu 1131

    How Many Trees? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tot ...

  4. 理解TCP三次握手和四次挥手

    TCP相关知识 TCP是面向连接的传输层协议,它提供可靠交付的.全双工的.面向字节流的点对点服务.HTTP协议便是基于TCP协议实现的.(虽然作为应用层协议,HTTP协议并没有明确要求必须使用TCP协 ...

  5. SecureCRT的安装与破解,详细过程

    使用SecureCRT可以方便用户在windows环境下对linux主机进行管理,这里为大家讲一下SecureCRT的破解方法,仅供大家参考学习: 1.首先在本站下载SecureCRT 7.3.6最新 ...

  6. 测试Promise与Async/await的基本使用

    想在项目中用, 发现自己不是很熟 promise基本使用 基本使用-思路 new Promise()返回了一个状态机 一个完全无法被外界影响的状态机 构造函数, 传入一个函数, 两个参数, 分别是re ...

  7. HTML容器标签和文本标签

    html中的容器级标签和文本级标签,css中的块级元素和行内元素是我们常常拿来比较的四个名词(行内块级暂时先不考虑).注:如果标签嵌套错误,可能会发生浏览器解析错误的情况,只是针对嵌套做的这个. 容器 ...

  8. Nginx数据结构之内存池

    基本结构 1. ngx_pool_t struct ngx_pool_s { ngx_pool_data_t d; size_t max; ngx_pool_t *current; ngx_chain ...

  9. 第11组 Alpha冲刺(1/6)

    队名 不知道叫什么团队 组长博客 组长博客 作业博客 https://edu.cnblogs.com/campus/fzu/SE_FZU_1917_K/homework/9938 项目情况 燃尽图 陈 ...

  10. 在windows系统搭建并运行一个Flutter项目

    搭建Flutter之前需要已经安装好相应的Flutter开发环境,如果没安装好相应环境的可以查看在windows系统搭建Flutter开发环境 搭建Flutter项目可以通过命令行搭建,或者通过and ...