用 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. codeforces997C

    Sky Full of Stars CodeForces - 997C On one of the planets of Solar system, in Atmosphere University, ...

  2. checkbox为空

    <view:qrytr> <view:qrytd width="15%" heightshow="true">请选择执法范围:</ ...

  3. Netfilter 之 钩子函数调用

    本篇主要从三层协议栈调用函数NF_HOOK说起,不断深入,分析某个钩子点中所有钩子函数的调用流程,但是本文不包含规则介绍和核心的规则匹配流程,后续文章将继续分析: NF_HOOK函数先调用了nf_ho ...

  4. cvxpy给的ADMM_example报错

    x = Variable((3, 1), name="x") ValueError: Cannot broadcast dimensions  (3, 1) (3, ) 解决方案: ...

  5. Vue之混入(mixin)与全局混入

    Vue之混入(mixin)与全局混入 接下来通过一个简单的例子看看混入的基础用法: 首先新建一个mixin.js文件,添加以下代码. let mixin = { data() { return { m ...

  6. git 将本地项目关联到远程仓库

    初始化 在本地需要关联到远程仓库的项目根目录下执行 git init 然后关联远程仓库 [project].你需要存在一个远程仓库,名字随意,然后执行下面的命令(去掉中括号)就可以关联到该仓库. gi ...

  7. vsCode安装todo插件

    使用过IDEA或者WebStrom的阿媛应该都知道他们都有一个TODO功能,方便我们跟踪注释,或者说是我们在项目代码里面所做的标记:但是如果你现在在使用vsCode,你会发现,没有TODO功能,幸好, ...

  8. C# WinForm设置窗口大小不可调,取消最大、最小化按键

    this.FormBorderStyle = FormBorderStyle.FixedDialog;//设置边框为不可调节 this.MaximizeBox = false;//取消最大化按键 th ...

  9. 计算机组成原理 — GPU 图形处理器

    目录 文章目录 目录 显卡 GPU GPU 与深度学习 GPU 与 CPU 体系结构的区别 GPU 显存与 CPU 主存的区别 GPU 与 CPU 之间的数据交互方式 GPU 的体系结构 GPU 的工 ...

  10. generator自动生成数据表

    1.先写好自己要创建的字段等: 然后将将上面的在plsql中运行,创建数据表.