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

时间:2023-11-22 20:54:56

前提:

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

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

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

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

看需要下载安装即可。

链接: 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证书

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

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

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

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

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

五、测试效果

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

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

六、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