用 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. 两种dp模型

    两个常见模型 bzoj 4321 题意:编号为1~n的人排成一排,问有多少种排法使得任意相邻两人的编号之差不为1或-1. n<=1000 排列计数问题:考虑把数从小到大插入的过程进行dp. 设 ...

  2. redis基本介绍

    1.Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化 ...

  3. Postman使用tv4进行JSON Schema结构验证和断言

    JSON Scheme简介 对于JSON格式的请求数据或者响应数据,在不同的数据和场景下往往会有一部分动态的值及字段.此时我们可以使用JSON Scheme Validator(JSON结构验证)来验 ...

  4. 初次使用自己写的testbench 验证了简单的NOT门。

    先是简单的非门模型: module notgate(a,b); input a; output b; assign b=~a; endmodule 下面是自己写的简陋的testbench: `time ...

  5. 0078 Java与MySQL时间戳传递/存储/协调问题--userLegacyDatetimeCode--userTimezone--serverTimezone

    00. 基本问题 0.0 版本: 驱动5.1.47和8.0.17 0.1 MySQL驱动5.1有userLegacyDatetimeCode和userTimezone两个参数, 8.0没有 0.2 J ...

  6. [mysql]查看mysql执行情况的几种方法

    mysql系统变量分为全局变量和会话变量,全局变量的修改影响到整个服务器,会话变量修改只影响当前的会话. 查看log日志是否开启 show variables like 'general_log' s ...

  7. MongDB的DateZone

    先理解:Date本身是没有格式的,只是一个毫秒数,要显示成某种格式就一定是字符串 https://github.com/ewcmsfree/ewcms/wiki/Help-mongo-java-dri ...

  8. Qt串口通信专题教程

    查看以前的教程:Qt编写串口通信程序全程图文讲解 查看Wincom和Lincom介绍:Qt跨平台串口通信软件Wincom与Lincom 下载软件,文档和源码:资源下载 ——————————————20 ...

  9. antd源码分析之——折叠面板(collapse)

    官方文档 https://ant.design/components/collapse-cn/ 目录 一.antd中的collapse 代码目录 1.组件结构图(♦♦♦重要) 2.源码节选:antd/ ...

  10. mysql:启动服务时遇到的问题

    1.cmd命令: 在切换路径时,如果要切到另外一个磁盘,比如从C盘切到E盘,命令如下: cd /d 你要切换的路径 2.错误:“服务名无效” 问题原因:mysql服务没有安装.(参考:https:// ...