前提:

先安装openssl,安装有两种方式,第一种直接下载安装包,装上就可运行;第二种可以自己下载源码,自己编译。这里推荐第一种。

安装包:http://slproweb.com/products/Win32OpenSSL.html

源码地址:https://github.com/openssl/openssl

看需要下载安装即可。

链接: https://pan.baidu.com/s/1pLBAabL 密码: kcbc

搭建步骤:

一、生成1024位的key

输入:

openssl genrsa -out d:\ssl.key 2048

其中,d\ssl.key为文件的存放地址,2048为长度。

二、生成cer证书

输入:

openssl req -new -x509 -key d:\ssl.key -out d:\ssl.cer -days 3650 -subj /CN=www.domain.com

ddl.key为之前生成的key的名字,ssl.cer为生成的证书,3650为证书过期天数,CN的参数www.domain.com为你的计算机名,任意。

注意:这里的cer证书不能直接给iOS使用。

三、生成IIS需要的PFX私钥文件

输入:

openssl pkcs12 -export -out d:\ssl.pfx -inkey d:\ssl.key -in d:\ssl.cer

注意:这里生成就是iOS中的P12文件,此文件直接提供给iOS使用。

这里也是指定pfx文件的路径。

此时会提示输入一个新密码,因为iis在导入时会要求验证密码,注意:这里输入密码是没有任何提示的,所以直接输入即可。

四、在IIS上导入pfx证书

添加站点时选择https,然后指定ssl证书

这里的站点可以指定自定义的端口,而不一定是443,同时一个站点也可以绑定多个端口,包括http的80等。

五、测试效果

第一次访问的时候是受限的,只要允许访问即可。

六、iOS使用

将上面生成pfx文件直接给iOS客户端,在Mac电脑上导入,并按提示输入刚才设置的密码,然后再导出cer文件,最后将这个在Mac下导出的cer文件引入到iOS项目,这个才能正常。

注意:这个就是所谓的自签名证书。

iOS使用自签名证书不一定能通过上架,还在测试中,如果不可行,希望告知一下。

七、其它参考

http://www.cnblogs.com/Persue-A-Good-Life/p/4040988.html

http://www.cnblogs.com/bobliu/archive/2012/08/05/2590694.html

http://blog.csdn.net/mygrilzhuyulin/article/details/50663473

http://blog.csdn.net/boss666666/article/details/10284649

http://blog.csdn.net/houjixin/article/details/25806151

http://blog.csdn.net/f2004/article/details/45842287

(iOS参考)https://github.com/fengling2300/networkTest(使用时,请将AF升级到3.0使用)(链接: http://pan.baidu.com/s/1c2aIHGG 密码: 6tpr)

八、总结

证书概念真的很多,参考:http://www.cnblogs.com/EasonJim/p/6291539.html

而且生成证书的方式也非常多,参考:http://www.cnblogs.com/EasonJim/p/6291587.html

OpenSSL使用1(用OpenSSL生成自签名证书在IIS上搭建Https站点)(用于iOS的https访问)的更多相关文章

  1. 用OpenSSL生成自签名证书在IIS上搭建Https站点(用于iOS的https访问)

    前提: 先安装openssl,安装有两种方式,第一种直接下载安装包,装上就可运行:第二种可以自己下载源码,自己编译.这里推荐第一种. 安装包:http://slproweb.com/products/ ...

  2. cmd命令生成android签名证书

    cmd命令生成android签名证书,有空在写一篇eclipse导出带签名的apk,这里面包括生成新的签名.现在还是讲讲在cmd怎么操作生成签名证书. 1.dos下进入JDK的bin目录 运行如下命令 ...

  3. 使用terraform 生成自签名证书

    terraform 是一个很不错的基础设施工具,我们可以用来做关于基础设施部署的事情,可以实现基础设施即代码 以下演示一个简单的自签名证书的生成(使用tls provider) main.tf 文件 ...

  4. openssl生成自签名证书

    1.生成x509格式的CA自签名证书 openssl req -new -x509 -keyout ca.key -out ca.crt 2.生成服务端的私钥(key文件)及申请证书文件csr文件 o ...

  5. [ipsec][strongswan] 用strongswan pki工具生成自签名证书

    如题.我在实验环境里,分别要为两个endpoint(T9和T129)生成证书. 证书是如何生成的呢? 证书是由根证书机构签发的.申请证书的人将request提交给根证书机构,然后根证书机构根据requ ...

  6. ios生成自签名证书,实现web下载安装app

    抄自http://beyondvincent.com/blog/2014/03/17/five-tips-for-using-self-signed-ssl-certificates-with-ios ...

  7. 生成自签名证书-开启https

    1.生成CA证书 # 生成 CA 私钥 openssl genrsa -out ca.key 2048 # X.509 Certificate Signing Request (CSR) Manage ...

  8. windows下使用makecert命令生成自签名证书

    1.makecert命令路径 C:\Program Files (x86)\Windows Kits\8.1\bin\x64 2.生成一个自签名证书 makecert -r -pe -n " ...

  9. Windows下生成自签名证书

    最近通过openssl生成了自签名的证书,总结成下面这张图. 说明:下载openssl0.9.8之后解压,然后运行bin\openssl.exe进入openssl运行环境,然后按上图中顺序执行命令.( ...

随机推荐

  1. Python Flask构建可拓展的RESTful API

    1-1 Flask VS Django 1-2  课程更新维护说明: 1-3 环境.开发环境与Flask: 1.3.1 关注版本更新说明: 1-4 初始化项目:

  2. [oldboy-django][4python面试]有关csrf跨站伪造请求攻击

    1 csrf定义 - csrf定义:Cross Site Request Forgery,跨站请求伪造 举例来说: 网站A伪造了一个图片链接: <a href="http://www. ...

  3. [oldboy-django][4python面试]cookie和session比较

    session定义(知乎网上) Session的数据不是储存在客户端上的,而是储存在服务器上的:而客户端使用Cookie储存一个服务器分配的客户端会话序号(Session ID),当客户端请求服务器时 ...

  4. HDU 1043 & POJ 1077 Eight(康托展开+BFS | IDA*)

    Eight Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 30176   Accepted: 13119   Special ...

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

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

  6. docker (centOS 7) 使用笔记6 - skydns

    skydns被用于kubenets作为DNS服务.本次测试是单独使用skydns作为DNS服务器,且作为loadbalance使用. 前提:需要先安装配置etcd服务 (在前面的文章里,已经安装部署了 ...

  7. golang深坑记录

    go深坑:1.gin.context.JSON,如果没有make数组时,数组返回为null,make后,数组为[]2.json.Number转int64类型 datatemp.(json.Number ...

  8. nodeJS(2)深了解: nodeJS 项目架构详解(app.js + Express + Http)

    简略了解:nodeJS 深了解(1): Node.js + Express 构建网站预备知识 环境: 环境: win7 + nodeJS 版本(node): 新建 nodeJS 项目: 名称为: te ...

  9. Java EE 学习:使用 idea2017 搭建 SSM 框架

    需要准备的环境: idea 2017.1 jdk1.8 Maven 3.3.9 请提前将idea与Maven.jdk配置好,本次项目用的都是比较新的 步骤: 一.首先使用idea新建一个Maven w ...

  10. JavaScript 笔记(2) -- 类型转换 & 正则表达 & 变量提升 & 表单验证

    目录:  typeof, null, undefined, valueOf() 类型转换 正则表达式 错误: try, catch, throw 调试工具 变量提升 strict 严格模式 使用误区 ...