一、把证书准备好。
步骤与使用OpenSSL自签发服务器https证书所述大同小异。在这里再重复一次。
1、制作CA证书:
ca.key CA私钥:

openssl genrsa -des3 -out ca.key 2048
Enter pass phrase for ca.key:*****    要求创建密码

制作解密后的CA私钥(一般无此必要):

openssl rsa -in ca.key -out ca_decrypted.key

ca.crt CA根证书(公钥):

openssl req -new -x509 -days 7305 -key ca.key -out ca.crt

2、制作生成网站的证书并用CA签名认证
在这里,假设网站域名为blog.creke.net
生成tdp.up.com证书私钥:

openssl genrsa -des3 -out tdp.up.com.pem 1024
Enter pass phrase for tdp.up.com.pem:*****    要求创建密码

制作解密后的blog.creke.net证书私钥:

 openssl rsa -in tdp.up.com.pem -out tdp.up.com.key

生成签名请求:

openssl req -new -key tdp.up.com.pem -out tdp.up.com.csr

在common name中填入网站域名,如:tdp.up.com,即可生成改站点的证书,同时也可以使用泛域名如*.up.com来生成所有二级域名可用的网站证书。

用CA进行签名:

openssl ca -policy policy_anything -days 1460 -cert ca.crt -keyfile ca.key -in tdp.up.com.csr -out tdp.up.com.crt

其中,policy参数允许签名的CA和网站证书可以有不同的国家、地名等信息,days参数则是签名时限。

如果在执行签名命令时,出现“I am unable to access the ../../CA/newcerts directory”
修改/etc/pki/tls/openssl.cnf中“dir = ./CA”

然后:

mkdir -p CA/newcerts
touch CA/index.txt
touch CA/serial
echo "" > CA/serial

再重新执行签名命令。
最后把ca.crt的内容粘贴到tdp.up.com.crt后面。这个比较重要!因为不这样做,可能会有某些浏览器不支持。
好了,现在https需要到的网站私钥tdp.up.com.key和网站证书tdp.up.com.crt都准备完毕。接下来开始配置服务端。

二、以nginx为例
新开一个虚拟主机,并在server{}段中设置:

listen 443;
ssl on;
ssl_certificate /path/to/tdp.up.com.crt;
ssl_certificate_key /path/to/tdp.up.com.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;

其中的路径是刚刚生成的网站证书的路径。
然后使用一下命令检测配置和重新加载nginx:
检测配置:
nginx -t
重新加载:
nginx -s reload

自做CA自签发SSL证书的更多相关文章

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

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

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

    参考: http://www.cnblogs.com/lierle/p/5140187.html http://alvinhu.com/blog/2013/06/12/creating-a-certi ...

  3. CA机构及SSL证书

    互联网安全形势日趋严峻,企业重视自身互联网安全已成必然,SSL认证成大势所趋.要部署SSL证书最首先就是选好CA机构!其次选择适合自己的SSL证书!今天就来介绍一下如何选择CA机构及SSL证书! 首先 ...

  4. 基于OpenSSL自建CA和颁发SSL证书

    关于SSL/TLS介绍见文章 SSL/TLS原理详解.关于证书授权中心CA以及数字证书等概念,请移步 OpenSSL 与 SSL 数字证书概念贴 . openssl是一个开源程序的套件.这个套件有三个 ...

  5. CA/B Forum: SSL证书最长有效期最终被定为两年

    这项新规将在2018年实施...... 随着CAB Forum第193号投票的通过,SSL行业将拥有更新更短的最长SSL证书有效期. 作为SSL行业的风向标,CAB Forum制定过许多行业规则,及规 ...

  6. 怎样签发SSL证书

    最近在做怎样让网站有SSL,搞了一天,现在总结一下 首先要安装OPENSSL和 Java的 keytool 先用OPENSSL生成私钥和CSR openssl req -newkey rsa:2048 ...

  7. 看完Andoird9.0 Pie的隐藏特性,我买了SSL证书

    今年 8 月,Google 正式公布了 Android 9.0 ,新的甜点名称也正式揭晓——Pie.这次的大版本升级中,藏着一个不起眼的特性:默认使用 HTTPS 为了将所有网络流量从明文(未加密的 ...

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

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

  9. 使用自签SSL证书有什么风险?

    http://mt.sohu.com/20150602/n414267586.shtml 所谓自签SSL证书,是指不受信任的任意机构或个人,使用工具自己签发的SSL证书.自签名SSL证书可以随意签发, ...

随机推荐

  1. Girls and Boys-hdu 1068

    Girls and Boys Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. 《鸟哥的Linux私房菜》学习笔记(8)——bash脚本编程之变量

    一.变量命名                                                             1.只能包含字母.数字和下划线,并且不能以数字开头,    2.不 ...

  3. ObjectOutputStream和ObjectInputStream的简单使用

    使用ObjectOutputStream往文本写内容时,首先在文本里面标记开始,然后是内容,最后加上结束标示.如果想再次往文本里面添加内容的话,就要加在开始标示之后和结束标示之前,不然会读取不到写入的 ...

  4. How to check if Visual Studio 2005 SP1 is installed

    How to check if Visual Studio 2005 SP1 is installed Check the following registry key. HKEY_LOCAL_MAC ...

  5. IOS开发学习笔记029-反选、全选、删除按钮的实现

    还是在上一个程序的基础上进行修改 1.反选按钮 2.全选按钮 3.删除按钮 4.其他代码优化 1.反选按钮 反选的过程就是将_deleteShops数组中得数据清空,然后将Shops中数组添加到_de ...

  6. 使用 Anime 类在 XNA 中创建小动画(十一)

    平方已经开发了一些 Windows Phone 上的一些游戏,算不上什么技术大牛.在这里分享一下经验,仅为了和各位朋友交流经验.平方会逐步将自己编写的类上传到托管项目中,没有什么好名字,就叫 WPXN ...

  7. 如何解决Jmeter导出的聚合报告是乱码易位问题

    在使用Jmeter这个工具的时候,有些单词不懂是什么意思,就切换到这个工具自带的中文语言: 当我们测试完毕,导出聚合报告(Summary Report)的时候: 1.有一些第一个Title下面的中文是 ...

  8. SQL Server2012使用导入和导出向导时,用sql语句作为数据源,出现数据源类型会变成202或者203

    用MS SqlServer2012进行数据导出时,使用的查询语句导出,但是出现了错误: “发现 xx个未知的列类型转换您只能保存此包“ 点击列查看详细错误信息时,可以看到: [源信息]源位置: 192 ...

  9. [luoguP2596] [ZJOI2006]书架(splay)

    传送门 题目中的几个操作,直接splay搞一下即可: 把s旋转到根,左子树接到右子树 把s旋转到根,右子树接到左子树 交换s相邻的信息即可 把s旋转到根,左子树的大小即为答案 找第k大 没了 #inc ...

  10. php中的对象赋值

    如果现在问你一个问题: <?php class A{ public $a = 1; } $a = new A(); $b = $a; $b->a = 3; print_r($a->a ...