使用openssl创建自签名证书及部署到IIS教程
概要
本文讲解三个部分:
1. 创建自签名证书
2. 创建自己的证书颁发机构
3. 以及如何配置IIS
创建自签名证书
首先,创建一个私钥文件:
openssl genrsa -out myselfsigned.key 2048
然后利用私钥创建自签名证书:
openssl req -new -x509 -key myselfsigned.key -out myselfsigned.cer -days 36500
执行上面的两个操作之后会提示输入以下几个内容(为了显示正常尽量使用英文):
- Country Name (2 letter code) [AU]:CN //国家简称
- State or Province Name (full name) [Some-State]:GuangDong //州或省的名字
- Locality Name (eg, city) []:ShenZhen //区或市县的名称
- Organization Name (eg, company) [Internet Widgits Pty Ltd]:Comapny //公司或组织名
- Organizational Unit Name (eg, section) []:Mobile //单位或者是部门名称
- Common Name (e.g. server FQDN or YOUR name) []:xxxxxx //域名或服务器名或IP
- Email Address []:xxxxx@gmail.com //Email地址
注, 上述可直接在命令中用
-subj跟在语句后面, 如:
openssl req -new -x509 -key myselfsigned.key -out myselfsigned.cer -days 36500 -subj /CN=域名或服务器名或IP
至此, 生成的myselfsigned.cer分别应用到服务器端以及客户端(通过邮件, 链接等方式下发), 即可使用, 配置IIS见下文
创建自己的证书颁发机构(CA)
即使是测试目的, 也会出现有多个站点需要自定义证书的情况, 不可能要求用户每个站点装一个 我们何不把自己添加成一个证书颁发机构(CA), 然后把这个证书装给客户端, 那么由这个CA颁发的证书都会被自动信任.
首先, 用同样的语法创建一个证书, 我们把名字取明确一些, 就叫myCA吧(跟第一步生成普通证书是一样一样的, 只是这次我们把它理解成一个证书颁发机构)
openssl genrsa -out myCA.key 2048
openssl req -new -x509 -key myCA.key -out myCA.cer -days 36500
然后, 基于这个证书生成一个证书请求(CSR), (同样, 先生成一个key, 要用key来请求)
openssl genrsa -out server.key 2048
openssl req -new -out server.req -key server.key -subj /CN=域名
注:
1. 一旦域名配置了, 用不同于这个域名的主机名来请求, 就会校验失败
2. 这里用到了上面说的-subj参数
最后, 通过服务器证书(我们理解的CA), 对这个签发请求进行签发
openssl x509 -req -in server.req -out server.cer -CAkey myCA.key -CA myCA.cer -days 36500 -CAcreateserial -CAserial serial
配置IIS
我们的使用场景是IIS伺服了一个静态文件服务器(没错, 是用来放iOS企业部署的的plist和ipa文件的), 做到如下几步
转化证书格式
IIS导入证书需要转化为pkcs12格式(X509格式?), 中间会询问一次密码, 牢记, 或者与导出的文件一起保存
openssl pkcs12 -export -clcerts -in server.cer -inkey server.key -out iis.pfx
现在总结一下, 目前为止, 除去key和csr, 生成了myCA.cer, server.cer 和iis.pfx三个文件
将myCA.cer添加为”受信任的根证书颁发机构”
打开IE > 工具 > Internet选项 > 内容 > 证书 > 受信任的根证书颁发机构 > 导入 > 选择iis.pfx > 输入密码 > 导入
添加服务器证书
这需要两个步骤
首先, 在IIS管理器(inetmgr)的根目录上(就是机器名), 选择”服务器证书”, 导入我们刚才用server.cer生成的iis.pfx, 即给IIS添加了一个证书(如果有多个, 重复以上步骤)
然后, 找到网站节点, 右键, “编辑绑定”, 添加一个供https访问的端口(默认是443), 此时会要求你选择一个证书, 把刚才通过管理器添加的证书名选出来, 即可.
最后, 把server.cer通用你们企业自己的方式颁发给需要使用的客户端(邮件, 链接等, 均可), 如果是iPhone, 点击了server.cer文件后, 会导航到设置里面安装, 安装并信任后, 在设置 > 通用 > Profiles里面可以看到你信任的证书使用openssl创建自签名证书及部署到IIS教程
使用openssl创建自签名证书及部署到IIS教程的更多相关文章
- OpenSSL 创建自签名证书
1.生成服务器私钥 openssl genrsa -out client.key 4096 2.生成证书签名请求(CSR) openssl req -new -key client.key -ou ...
- 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名【转】
自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信 如果你的规划需要创建多个证书,那么使用私有 ...
- 使用 OpenSSL为WindowsServer远程桌面(RDP)创建自签名证书 (Self-signed SSL certificate)
前言 笔者查阅很多资料,才写成此文章,如有错误,请读者们及时提出. 一般大家使用远程桌面(Remote Desktop)连接Windows Server时,总会有一个警告提示,如图1 图1 出现此警告 ...
- 使用 OpenSSL 为 Nginx 创建自签名证书 并开启客户端身份验证
本文章默认读者了解Openssl,CA,网站证书相关知识,直接实战!配置完成后,浏览器会显示"安全的HTTPS"连接.不会像其他文章那样,是红色警告的证书提示. 准备环境 笔者使用 ...
- openssl生成自签名证书
1.生成x509格式的CA自签名证书 openssl req -new -x509 -keyout ca.key -out ca.crt 2.生成服务端的私钥(key文件)及申请证书文件csr文件 o ...
- 用OpenSSL生成自签名证书在IIS上搭建Https站点(用于iOS的https访问)
前提: 先安装openssl,安装有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.这里推荐第一种. 安装包:http://slproweb.com/products/ ...
- openssl实现自签名证书
前言 证书的作用 加密通信数据,验证对象身份,保证数据完整性 什么是自签名证书 公认的证书往往都需要收费,如果客户端与服务端都是由我们自己来操控,那便可以使用自签名证书(说白了就是只是自己认可的证书) ...
- OpenSSL使用1(用OpenSSL生成自签名证书在IIS上搭建Https站点)(用于iOS的https访问)
前提: 先安装openssl,安装有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.这里推荐第一种. 安装包:http://slproweb.com/products/ ...
- [Apple开发者帐户帮助]三、创建证书(4)创建Safari签名证书
您的Safari扩展程序必须由Apple颁发的证书签名,您可以在开发者帐户中创建和下载该证书. 在“ 证书”,“标识符和配置文件”中,从左侧的弹出菜单中选择“Safari扩展”. 在“证书”下,选择“ ...
随机推荐
- 如何将 Microsoft Bot Framework 链接至微信公共号
说到 Microsoft Bot Framework 其实微软发布了已经有一段时间了,有很多朋友可能还不太了解,微软Bot的功能今天我给大家简单的介绍一下,Bot Framework的开发基础以及如何 ...
- sloth——算法工程师标注数据的福音
一般算法工程师做标注,都要先开发个标注工具,无非下面几个选项: 1.mfc,C#,优点是交互界面友好,开发难度适中,缺点是没法跨平台 2.matlab,优点是可以跨平台,开发难度非常低,缺点是速度慢. ...
- merge 实现
今天写了个小程序,做两个已经从小到大排序好的数据的merge. 要求: listA = (1, 3, 5, 10); listB = (4, 6, 12):listA 和listB都是排序由小到大的列 ...
- oracle 语句创建表空间、用户、授权
/*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace yuhang_temp tempfile 'D:\oracledata\yuhang_te ...
- 用CentOS 7打造合适的科研环境 :zhuan
这篇博文记录了我用CentOS 7搭建地震学科研环境的过程,供我个人在未来重装系统时参考.对于其他地震学科研人员,也许有借鉴意义. 阅读须知: 本文适用于个人电脑,不适用于服务器: 不推荐刚接触Lin ...
- Fidder模拟Post请求
背景 最近想用fidder模拟post请求,怎么都传值失败,发现写Composer => Request Body中写的内容,总是无法映射到mvc的action参数上.百度一番,发现如下解决方案 ...
- Teambition可用性测试记
引言:最开始知道Teambition是几个月前,当时是想找一个团队协作工具.Teambition是候选之一,它的界面设计给我留下了印象.后来得知其背后年轻的创始团队还是让我有些小惊讶的.这次通过朋友介 ...
- Hadoop第1~2周练习—Hadoop1.X和2.X安装
练习题目 Hadoop1.X安装 2.1 准备工作 2.1.1 硬软件环境 2.1.2 集群网络环境 2.1.3 安装使用工具 2.2 环境搭建 2.2.1 安 ...
- Android View 之进度条+拖动条+星级评论条....
PS:将来的你会感谢现在奋斗的自己.... 学习内容: 1.进度条 2.拖动条 3.星级评论条 1.进度条... 进图条这东西想必大家是很熟悉的...为了使用户不会觉得应用程序死掉了,因此 ...
- ok6410 android driver(7)
This article talk about how to test device driver on JNI. There are two ways to test the device driv ...