前提:

先安装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生成自签名证书在IIS上搭建Https站点(用于iOS的https访问)的更多相关文章

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

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

  2. openssl生成自签名证书

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

  3. 在IIS上搭建FTP站点

    操作环境 系统:win7 IIS版本:7.5 FTP传输工具:FlashXP 概述 本文介绍了如何在win7下利用IIS(默认已安装IIS和FTP功能)搭建FTP站点,FTP站点的常用配置. 快速搭建 ...

  4. 使用openssl创建自签名证书及部署到IIS教程

    概要 本文讲解三个部分:1. 创建自签名证书2. 创建自己的证书颁发机构3. 以及如何配置IIS 创建自签名证书 首先,创建一个私钥文件: openssl genrsa -out myselfsign ...

  5. openssl实现自签名证书

    前言 证书的作用 加密通信数据,验证对象身份,保证数据完整性 什么是自签名证书 公认的证书往往都需要收费,如果客户端与服务端都是由我们自己来操控,那便可以使用自签名证书(说白了就是只是自己认可的证书) ...

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

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

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

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

  8. 在Win7的IIS上搭建FTP服务及用户授权

    FTP服务 FTP是文件传输协议(File Transfer Protocol)的简称,该协议属于应用层协议(端口号通常为21),用于Internet上的双向文件传输(即文件的上传和下载).在网络上有 ...

  9. 在Win7的IIS上搭建FTP服务及用户授权——转载!!

    原文地址:http://blog.sina.com.cn/s/blog_6cccb1630100q0qg.html FTP服务 FTP是文件传输协议(File Transfer Protocol)的简 ...

随机推荐

  1. Swift 学习笔记(五)

    126. 协议(Protocols) 协议语法(Protocol Syntax) 属性要求(Property Requirements) 方法要求(Method Requirements) Mutat ...

  2. PHP DES加密

    public function encrypt($str) { //$str = "hh"; $key = "key:123";//密钥 $cipher = M ...

  3. [转]Android Shape渲染的使用(经典,学习研究不后悔)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/1215749 ...

  4. 两个byte[]拼接

    //两个byte[]拼接 public byte[] copybyte(byte[] a, byte[] b, byte[] c, byte[] d, byte[] e)///,byte[] f,by ...

  5. android 报错之noclassdeffounderror

    解决方案1: 导入第3方jar包问题,明明导入了jar但还是报java.lang.NoClassDefFoundError解决步骤:1.在Android项目根目录下新建一个lib文件夹:2.把你需要导 ...

  6. 转:SQL Case when 的使用方法

    Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...

  7. Android平台设计规范整理(尺寸+组成元素+字体+滑块)

    转自:http://www.ui.cn/project.php?id=12394

  8. redis 工具类 单个redis、JedisPool 及多个redis、shardedJedisPool与spring的集成配置

    http://www.cnblogs.com/edisonfeng/p/3571870.html http://javacrazyer.iteye.com/blog/1840161 http://ww ...

  9. delphi第2节

  10. Redis学习笔记(二)-key相关命令【转载】

    转自 Redis学习笔记(二)-key相关命令 - 点解 - 博客园http://www.cnblogs.com/leny/p/5638764.html Redis支持的各种数据类型包括string, ...